繁体   English   中英

LEFT JOIN不适用于count

[英]LEFT JOIN doesn't work with count

我的查询有问题:

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

还有其他方法,但是如果没有更多信息,这是一种简单的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM