我有一個Oracle表稱爲用戶,列甲骨文更新表中的重複行
name, location, organization, valid_from, valid_to, active.
我所試圖做的是: 如果有兩個記錄具有相同的名稱,地點,組織,但與valid_to,valid_from間隔重疊,以將每個記錄的活動狀態設置爲「NOK」。 以下是我正在試圖做到這一點:
UPDATE table SET active= 'NOK'
WHERE
(name, location, organization) IN (
SELECT t1.name, t1.location, t1.organization
FROM table t1
WHERE (valid_from > t1.valid_from and valid_to < t1.valid_to)
GROUP BY t1.name, t1.location, t1.organization
HAVING COUNT(*) > 1) ;
但是,這似乎並沒有做什麼,我的願望。我究竟做錯了什麼?