我有結構的記錄table1的像的Oracle SQL更新使用組由/殼體
KEY1 KEY2 KEY3 EMPLID ENRCD ADDL_SEQ ...
with (KEY1 KEY2 KEY3 EMPLID ENRCD ADDL_SEQ) being keys
我有其中EMPLID & ERNCD是我想遞增KEY1的相同,但不同的值/ 2/3 行通過1 ADDL_SEQ值時爲相同EMPLID & ERNCD
例如
- KEY1 KEY2 KEY3 EMPLID ERNCD ADDL_SEQ
001 A1 B1 12345 REG 1
001 A1 B2 12345 REG 2
UPDATED SQL
UPDATE PS_XX_PY40_APAY_1 A1
SET A1.ADDL_SEQ =
(
SELECT RANK() OVER(PARTITION BY XX_EMPLOYEE_ID,ERNCD ORDER BY
XX_CONVERSION_ID,XX_UCPATH_LOC,XX_WRKR_INSTANCE,XX_APPT_NUM,XX_DIST_NUM,EMPL_RCD,EMPLID,EFFDT)
FROM PS_XX_PY40_APAY_1 B1
WHERE B1.XX_EMPLOYEE_ID=A1.XX_EMPLOYEE_ID
and B1.ERNCD=A1.ERNCD
AND XX_CONVERSION_ID=XX_CONVERSION_ID
AND XX_UCPATH_LOC=XX_UCPATH_LOC
AND A1.XX_WRKR_INSTANCE=B1.XX_WRKR_INSTANCE
AND B1.XX_APPT_NUM=A1.XX_APPT_NUM
AND B1.XX_DIST_NUM=A1.XX_DIST_NUM
AND A1.EMPLID=B1.EMPLID
AND A1.EMPL_RCD=B1.EMPL_RCD
AND A1.EFFDT=B1.EFFDT
);
WHERE所有存在多行鑰匙已連接。然而,結果不理想
結果
004720864 RGN 1
004720864 RGN 1
004720864 RGN 1
004720864 RGN 1
預計
004720864 RGN 1
004720864 RGN 2
004720864 RGN 3
004720864 RGN 4
'B1.ERNCD = A1.ERNCD' ...錯字了'B1.ENRCD = A1.ENRCD ' –
Opps。謝謝。但它沒有奏效。請參閱最新的結果。其他KEY不需要匹配,但XX_EMPLOYEE_ID和ERNCD應該用於增加ADDL_SEQ –