即使计数为零,也会显示另一列的计数 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 BYLEFT 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