日期:2014-05-17  浏览次数:20727 次

请教SQL语句,GROUP BY相关
A表:         B表:部门基础表
UID NUM          UID    NAME
 2   1.1元        1       甲
 2   1.3元        2       乙
 3   1.0元        3       丙
                  4       丁

想计算各部门  在   A表中NUM数量没有的 取0
及返回C表结果。SQL语句  如何写?

UID  NAME  COUNT
 1    甲     0
 2    乙     2
 3    丙     1
 4    丁     0

SQL?GROUP?BY SQL GROUP?BY

------解决方案--------------------
引用:
Quote: 引用:

select b.*,count(a.UID)
from b left join a
on b.uid=a.uid


执行后显示  B.name无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。


select b.UID,b.NAME,count(a.UID)
from b left join a
on b.uid=a.uid
geoup by b.UID,b.NAME
------解决方案--------------------


dept  -- b
sales --a

select uid,name,isnull((select count(1) from sales where uid=a.uid),0) count from dept a


1 甲 0
2 乙 2
3 丙 1
4 丁 0