我有两个表,例如: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中的这些记录的状态应该为“已删除” –
您的问题不清楚,请更明确一点! –