gpt4 book ai didi

mysql - SQL - 检查并更新表中的新行?

转载 作者:行者123 更新时间:2023-11-29 11:06:42 24 4
gpt4 key购买 nike

我有两个表,例如:

Table firstfile                      Table secondfile
=============== ================

Emplid | Color Emplid | Color |status
---------------------- -------------|---------|------
123 | red 123 | red |
456 | green 456 | Green |
789 | black 000 | red |
789 | black |
999 | white |

表第一个文件是我的源表,第二个文件是目标表。现在我需要一个查询来查找表 secondaryfile 中的所有不同(附加)行。所以我需要一个查询来找到以下内容:

Table secondfile
================

Emplid | Color | Status
-------------------------------
123 | red |
456 | Green |
000 | red | added
789 | black |
999 | white | added

对于这样的查询,什么是好的方法?

我尝试了这个,但它不起作用

UPDATE secondfile 
INNER JOIN firstfile
ON secondfile.Emplid = firstfile.Emplid
SET status = (CASE WHEN secondfile.Emplid != firstfile.Emplid THEN 'Added' END)

最佳答案

试试这个

    UPDATE secondfile     
SET status = 'Added'
WHERE secondfile.Emplid NOT IN( select Emplid from firstfile)

应用案例示例

UPDATE secondfile 
SET status = CASE
WHEN Emplid= 10 THEN 'JustAdded'
WHEN Emplid= 20 THEN 'NewlyAdded'
WHEN Emplid= 30 THEN 'Old'
ELSE 'Added'
END
WHERE secondfile.Emplid not in ( select Emplid from firstfile)

关于mysql - SQL - 检查并更新表中的新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com