即使计数为零,也会显示另一列的计数 table
display Count of one column from another table even when the count is zero
我有两个 table A 和 B。在TableA(Oraclesql)中,唯一列(非主键)code可能在tableB中有一些记录。
示例:
代码 "A" 有 3 个条目,代码 "B" 有 2 个条目,代码 "C" 在 table 中有 0 个条目 B. 我希望查询显示代码及其在 Table B 中的记录数。
A 3
B 2
C 0,
但我没有在 table B 中得到零记录的代码,即 C 0.
请任何人帮助我查询。
你做错了什么。这对我有用:
select A.code, Count(B.code) from A
left join B on A.code = b.code
group by A.code
Fiddle: http://sqlfiddle.com/#!4/f13e1/2
这很简单,您只需要像我一样 "A.code" 并根据您想要的计数来选择列,并且不要忘记按该列分组,并使用 COUNT()。
检查以下解决方案
select A.code, Count(B.code) AS Count
from A
left join B on A.code = b.code
group by A.code
GROUP BY
与 LEFT JOIN
解决方案:
select a.code,
a.name,
count(b.code)
from A a
LEFT JOIN B b ON a.code = b.code
group by a.code, a.name
关联子查询解决方案:
select a.code,
a.name,
(select count(*) from B b where a.code = b.code)
from A a
也许你需要在这里做SELECT DISTINCT
。
我有两个 table A 和 B。在TableA(Oraclesql)中,唯一列(非主键)code可能在tableB中有一些记录。
示例:
代码 "A" 有 3 个条目,代码 "B" 有 2 个条目,代码 "C" 在 table 中有 0 个条目 B. 我希望查询显示代码及其在 Table B 中的记录数。
A 3
B 2
C 0,
但我没有在 table B 中得到零记录的代码,即 C 0.
请任何人帮助我查询。
你做错了什么。这对我有用:
select A.code, Count(B.code) from A
left join B on A.code = b.code
group by A.code
Fiddle: http://sqlfiddle.com/#!4/f13e1/2
这很简单,您只需要像我一样 "A.code" 并根据您想要的计数来选择列,并且不要忘记按该列分组,并使用 COUNT()。 检查以下解决方案
select A.code, Count(B.code) AS Count
from A
left join B on A.code = b.code
group by A.code
GROUP BY
与 LEFT JOIN
解决方案:
select a.code,
a.name,
count(b.code)
from A a
LEFT JOIN B b ON a.code = b.code
group by a.code, a.name
关联子查询解决方案:
select a.code,
a.name,
(select count(*) from B b where a.code = b.code)
from A a
也许你需要在这里做SELECT DISTINCT
。