General table 1
name | A | B | C | D
----------+------+------+--------+--------
Tom | 0 | 1 | 1 | 0
Jerry | 1 | 1 | 0 | 0
Daffy | 1 | 1 | 0 | 0
Bunny | 1 | 1 | 0 | 0
Tweety | 1 | 1 | 0 | 0
Table A
name
Jerry
Daffy
Bunny
Tweety
我有4个表A,B,C和D.当表A中的名称与表1中的名称匹配时,我为每列设置了A = 1等列。
我在表A中有8000个名字,当我运行查询来更新表1时,似乎缺少一个名称,它返回7999行匹配。有没有办法在2个表之间找到缺少的名称?
UPDATE table1 t1
JOIN A t2 ON t1.name = t2.name
SET t1.A = 1;
我试图用以下内容找到缺少的名称,
SELECT t2.name
FROM A t2
LEFT JOIN table1 t1
ON t1.name = t2.name
WHERE t1.name IS NULL;
但它返回空集。
答案 0 :(得分:1)
左连接会给你缺少的名字
Select t2.name
From A t2
Left join table1 t1
On t1.name = t2.name
Where t1.name is NULL