我尝试了以下方法。它不插入任何新行,尽管也没有重复的行。为什么呢?我做错了什么?任何帮助表示赞赏
INSERT INTO TEMP_8
SELECT PASS_M, ENTRY_DT, EXIT_D, WORKED_HRS,
CONSECUTIVE_D = num -(SELECT max(num)
FROM TEMP_7 B
WHERE B.CONSEC <= A.CONSEC
AND B.GAP = 1
AND A.IC_N = B.IC_N) + 1
FROM TEMP_7 A
WHERE NOT EXISTS (SELECT *
FROM TEMP_8);
更新:
PASS_M ENTRY_DT, EXIT_DT, WORKED_HRS
peter 20/12/12 21/12/12 12
Tom 20/12/12 21/12/12 10
Tom 21/12/12 22/12/12 9
这些不是重复的。当name
,entry_dt
和exit_dt
完全相同时重复。