繁体   English   中英

从一个表中选择,从另一个表中计数,其中 id 未链接

[英]select from one table, count from another where id is not linked

表格1

在此处输入图片说明

表 2

在此处输入图片说明

预期产出

打开 | 2

待定 | 0

已关闭 | 0

很快....

我尝试使用以下查询

SELECT d.status , COUNT(*) num,e.name  FROM table1 d  cross join table 2 e group by name;

这导致

在此处输入图片说明

谁可以帮我这个事。

你需要一个左连接 这种类型的联接显示左表中的所有行,即使右表中不存在任何行。

select t2.name, count(t1.id)
from table2 as t2
left join table1 as t1 on t2.name = t1.status
group by t2.name

请注意,您需要聚合table1的列以生成所需的0 ,因此是count(t1.id) 即使table1没有行, count(*)也会产生1

查询中的交叉联接只是创建所涉及的两个表的笛卡尔积,导致左表中的每一行与右表中的每一行连接一次。

暂无
暂无

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

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