I have one stage table ‘STAGE_TABLE‘ which includes following values (columns are varchar2 except ids) –
+-------------------------------------------------------------------------------------------------------------------------
¦ STAGE_ID ¦ EMP_ID ¦ ATTR1_OLD_VAL ¦ ATTR1_NEW_VAL ¦ ATTR2_OLD_VAL ¦ ATTR2_NEW_VAL ¦ ATTR3_OLD_VAL ¦ ATTR3_NEW_VAL ¦
¦-----------+------------+---------------+---------------+---------------+---------------+---------------+---------------¦
¦ 1 ¦ E001 ¦ xyz ¦ pqr ¦ mmm ¦ nnn ¦ zzz ¦ aaa ¦
¦ 2 ¦ E001 ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ 3 ¦ E001 ¦ pqr ¦ abc ¦ xxx ¦ yyy ¦ ¦ ¦
¦ 4 ¦ E002 ¦ aaa ¦ ccc ¦ bbb ¦ ttt ¦ ¦ ¦
¦ 5 ¦ E002 ¦ ¦ ¦ ¦ ¦ fff ¦ ppp ¦
¦ 6 ¦ E002 ¦ ¦ ¦ kkk ¦ jjj ¦ ¦ ¦
+-------------------------------------------------------------------------------------------------------------------------
I want to merge multiple rows from above table belonging to same employee into one –
+-------------------------------------------------------------------------------------------------------------
¦ EMP_ID ¦ ATTR1_OLD_VAL ¦ ATTR1_NEW_VAL ¦ ATTR2_OLD_VAL ¦ ATTR2_NEW_VAL ¦ ATTR3_OLD_VAL ¦ ATTR3_NEW_VAL ¦
¦------------+---------------+---------------+---------------+---------------+---------------+---------------¦
¦ E001 ¦ pqr ¦ abc ¦ xxx ¦ yyy ¦ zzz ¦ aaa ¦
¦ E002 ¦ aaa ¦ ccc ¦ kkk ¦ jjj ¦ fff ¦ ppp ¦
+-------------------------------------------------------------------------------------------------------------
I came to know about MERGE statement but not sure if it will work.
I am new to oracle pl/sql.
So, we should get: 1,C,B,B and 2,A,B,NULL: