我的查询有问题:
SELECT table1.Name,
COUNT(*)
FROM table1
LEFT JOIN table2 ON table2.Name_all = table1.Name
GROUP BY table1.Name
它显示并计算 table1 中的名称。我想加入 table2 中不存在于 table1 中的所有名称。
也许有人知道我做错了什么?
提前致谢
我的查询有问题:
SELECT table1.Name,
COUNT(*)
FROM table1
LEFT JOIN table2 ON table2.Name_all = table1.Name
GROUP BY table1.Name
它显示并计算 table1 中的名称。我想加入 table2 中不存在于 table1 中的所有名称。
也许有人知道我做错了什么?
提前致谢
根据您的描述,您似乎是这个意思,这是一个与 table1 名称不匹配的 name_all 列表。
SELECT table2.Name_all
FROM table2
LEFT JOIN table1 ON table2.Name_all = table1.Name
WHERE table1.Name Is Null
如果你也需要计数,你可以说:
SELECT table2.Name_all, Count(table2.Name_all) AS CountOf
FROM table2
LEFT JOIN table1 ON table2.Name_all= table1.Name
WHERE table1.Name Is Null
GROUP BY table2.Name_all;
试试这个
此查询将从表 1 和表 2 中获取通用名称。它还将从表 2 中获取表 1 中不存在的名称。
SELECT table1.Name,
table2.Name,
COUNT(*)
FROM table2
LEFT JOIN table1
ON table2.Name_all = table1.Name
GROUP BY table1.Name, table2.Name
如果这行得通,请告诉我。
我会做一个简单的in
检查
SELECT table1.Name,
FROM table1
WHERE table1.Name In (SELECT table2.Name_all FROM table2)
GROUP BY table1.Name
还有其他方法,但没有更多信息,这是一种简单的方法