在含有GROUP BY的SELECT语句中显示COUNT()为0的结果

现有表1,表2两张表,表1中有NAME,SEX等列,NAME为主键,表2中有NAME,CASE_NO等列,CASE_NO为主键,现要查询出所有的NAME及各NAME对应的... 现有表1,表2两张表,表1中有NAME,SEX等列,NAME为主键,表2中有NAME,CASE_NO等列,CASE_NO为主键,现要查询出所有的NAME及各NAME对应的CASE_NO数量,如果没有CASE_NO则计为0,
我写的语句为
SELECT 表1.NAME,COUNT(表2.CASE_NO) FROM 表1,表2 WHERE 表1.NAME=表2.NAME GROUP BY NAME
得到的结果中只有在表2中的NAME的CASE_NO数量,而原本想得到CASE_NO数量为0的项目却没有了
思考了之后发现问题在于WHERE语句在GROUP BY语句之前,可是却不知道应该怎样解决,求高手帮忙,谢谢!
展开
 我来答
wfy910206
推荐于2017-12-15 · 超过22用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:58.2万
展开全部
用 join查询
SELECT 表1.NAME,COUNT(表2.CASE_NO) FROM 表1 left join 表2 WHERE 表1.NAME=表2.NAME GROUP BY NAME

具体用left join 还是 right join 还是inner join 还是full join 你要自己判断;
left 保留左边的数据
right 保留右边数据
inner a,b数据一一对应
full join 两个表数据都保留
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式