我有兩個表,例如:SQL - 比較和更新表的行數?
Table firstfile Table secondfile
=============== ================
Emplid | Color Emplid | Color |status
------------------- -------------|---------|------
123 | red 123 | red |
456 | green 456 | Green |
789 | black 000 | red |
777 | orange 789 | black |
999 | white |
表firstfile
是我的源表和secondfile
是目標表。現在我需要一個查詢,查找表secondfile
中不存在的firstfile
中的所有行。所以,我需要它找到我下面的查詢:
Table secondfile
================
Emplid | Color | Status
-------------------------------
123 | red |
456 | Green |
000 | red |
789 | black |
999 | white |
777 | orange | Removed
哪些是CASE WHEN
等格式的查詢的好辦法?
我試過,但它不工作:
UPDATE second file
set status = (CASE
WHEN first file.Emplid not In (select Emplid
from secondfile)
THEN 'Remove'
END);
你需要一個'update'查詢或一個'select'查詢? – user3378165
@ user3378165我想要更新那些存在於firstfile但不在secondfile中的記錄。 secondfile中的這些記錄的狀態應該爲「已刪除」 –
您的問題不清楚,請更明確一點! –