繁体   English   中英

MS-Access中的SQL:使用COUNT,JOIN并返回0

[英]SQL in MS-Access: Using COUNT, JOIN and returning 0s

很抱歉发布此消息,但尽管网站上有一些示例,但我还是无法正常工作。

所以我有两个表,如下所示:

电话表

ID | Name | GradeID
1    Richard   1
2    Allan     1
3    Peter

我也有一个成绩表:

ID | Name
1    1
2    2
3    3
4    4
5    5

无论如何,我正在尝试使用COUNT()和LEFT JOIN来查找在电话表中找到每个年级的次数,包括使用以下查询返回包括0的任何一个:

SELECT telephony.GradeID, COUNT(*) AS Total
FROM telephony LEFT JOIN grade 
ON telephony.GradeID = grade.ID
GROUP BY telephony.GradeID
ORDER BY 1;

该查询返回找到的所有成绩,但不会返回所有0项的成绩:

Grade | Total
1       2

请帮忙。 我正在使用Microsoft Access 2003。


感谢你的帮助。 很好

但是,当我尝试合并DATE BETWEEN时,它仅返回再次找到的成绩。

有任何想法吗?

谢谢

由于只有成绩表包含所有可用的ID,因此您应该在SELECT中使用grade.ID而不是telephony.GradeID。 尝试执行此查询:

SELECT grade.ID, COUNT(telephony.ID) FROM grade
LEFT JOIN telephony ON telephony.GradeID = grade.ID
GROUP BY grade.ID
ORDER BY 1;

我认为这是您要寻找的:

SELECT grade.ID, Count(telephony.ID) AS CountOfID
FROM grade LEFT JOIN telephony ON grade.ID= telephony.GradeID
GROUP BY grade.ID
ORDER BY 1;

顺便说一句:“名称”对于列来说是非常不好的名称,因为它是保留字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM