【发布时间】:2020-04-09 12:44:38
【问题描述】:
您能否建议一个正确的查询来计算包括没有数据的类别?
表1
|ID | NAME
+---+------
| 1 | AAA
| 2 | BBB
| 3 | CCC
| 4 | DDD
表2
GroupName | GUID | ID
----------+------+-----
GroupA | zxcv | 1
GroupA | zxdt | 1
GroupA | fhgg | 2
GroupA | fhjg | 2
GroupA | fqwe | 2
GroupB | ffgh | 3
GroupB | yjkl | 3
GroupB | poiu | 2
GroupB | mnju | 2
GroupB | gytd | 2
我正在努力
SELECT
B.GroupName,
A.NAME,
COUNT(DISTINCT B.GUID) Quantity
FROM
Table2 B
LEFT JOIN
Table1 A ON B.ID = A.ID
GROUP BY
B.GroupName, A.NAME
结果我得到了
GroupA | AAA | 2
GroupA | BBB | 3
GroupB | CCC | 2
GroupB | BBB | 3
但我想看看
GroupA | AAA | 2
GroupA | BBB | 3
GroupA | CCC | 0
GroupA | DDD | 0
GroupB | AAA | 0
GroupB | BBB | 3
GroupB | CCC | 2
GroupB | DDD | 0
任何帮助表示赞赏...
【问题讨论】:
标签: sql-server join group-by count