gpt4 book ai didi

mysql - 如何连接两个表,保留不满足 JOIN 条件的行?

转载 作者:行者123 更新时间:2023-11-29 01:13:56 25 4
gpt4 key购买 nike

ticket                      
+----------+--------+
| ticketID | assign |
+----------+--------+
| 1015 | NULL |
| 1020 | James |
| 1021 | Nick |
+----------+--------+

staffinfo
+---------+-------+
| staffID | staff |
+---------+-------+
| 1 | Jane |
| 2 | James |
| 3 | Nick |
| 4 | Cole |
+---------+-------+

SELECT staff,COUNT(*) as count FROM staffinfo,ticket
WHERE ticket.assign = staffinfo.staff
GROUP BY staff

result:
+-------+-------+
| staff | count |
+-------+-------+
| James | 1 |
| Nick | 1 |
+-------+-------+

工作正常,但事实上我需要这样的东西:

+-------+-------+
| staff | count |
+-------+-------+
| James | 1 |
| Nick | 1 |
| Jane | 0 |
| Cole | 0 |
+-------+-------+

COUNT不统计表中不存在的记录,刚开始学SQL,想问问有没有办法统计成上面的结果?

最佳答案

你应该使用LEFT JOIN

SELECT  a.staff,    COUNT(b.assign) as count 
FROM staffinfo a
LEFT JOIN ticket b
ON b.assign = a.staff
GROUP BY a.staff

要全面了解联接,请访问以下链接:

关于mysql - 如何连接两个表,保留不满足 JOIN 条件的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14558921/

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