Sql 对于不使用';不存在于表中
我需要统计一个公司的所有考试,如果考试表中不存在该公司,则返回0 在我的公司表中,我有3家公司。我的问题是:Sql 对于不使用';不存在于表中,sql,Sql,我需要统计一个公司的所有考试,如果考试表中不存在该公司,则返回0 在我的公司表中,我有3家公司。我的问题是: SELECT c.name, ISNULL(COUNT(e.ID), 0) FROM Exam e INNER JOIN Company c ON c.ID = e.COMPANY_ID GROUP BY c.name 它返回2行,但我想显示第三个在检查表中没有任何记录的公司 我该怎么做?您需要右连接或更常见的左连接: select c.name, COUNT(e.COMPAN
SELECT c.name, ISNULL(COUNT(e.ID), 0)
FROM Exam e
INNER JOIN Company c ON c.ID = e.COMPANY_ID
GROUP BY c.name
它返回2行,但我想显示第三个在检查表中没有任何记录的公司
我该怎么做?您需要右连接或更常见的左连接:
select
c.name,
COUNT(e.COMPANY_ID)
from
Company c left join Exam e
ON c.ID = e.COMPANY_ID
group by
c.name
左联接将返回左表
公司
中的所有记录,并且仅返回检查
表中具有匹配项的记录。Count将计算所有非空值。使用左连接而不是内连接您使用的是MySQL还是MS SQL Server?(不要标记未涉及的产品。)@jarlh MS SQL Server。对不起。