一个表数据统计有关问题
一个表数据统计问题
------解决方案--------------------
期待结果是什么?没看懂
------解决方案--------------------
select A.bmname,isnull(已签收,0) 已签,isnull(未签收,0) 未签 from (select bmname from dbo.fole_Table group by bmname) A
left join
(select bmname,count(docid) as 已签收 from fole_Table where qszt='已签' group by bmname) B on A.bmname=B.bmname
left join
(select bmname,count(docid) as 未签收 from fole_Table where qszt='未签' group by bmname) C on A.bmname=C.bmname
------解决方案--------------------
一表结构与数据如下:
id docid(文件编号) bmname(接收部门) qszt(是否已签)
------------------------------------------------------------------------------
1 001 销售科 已签
2 001 生产科 未签
3 001 技术科 已签
4 002 销售科 未签
5 002 生产科 已签
...
如何统计接收按接收部门分组统计应签文件数和已签与未签文件数(在一个结果集中),请教,谢谢
------解决方案--------------------
期待结果是什么?没看懂
------解决方案--------------------
select A.bmname,isnull(已签收,0) 已签,isnull(未签收,0) 未签 from (select bmname from dbo.fole_Table group by bmname) A
left join
(select bmname,count(docid) as 已签收 from fole_Table where qszt='已签' group by bmname) B on A.bmname=B.bmname
left join
(select bmname,count(docid) as 未签收 from fole_Table where qszt='未签' group by bmname) C on A.bmname=C.bmname
------解决方案--------------------
SELECT bmname
,SUM(CASE WHEN qszt=N'已签' THEN 1 ELSE 0 END) AS N'已签'
,SUM(CASE WHEN qszt=N'未签' THEN 1 ELSE 0 END) AS N'未签'
,SUM(CASE WHEN qszt=N'应签' THEN 1 ELSE 0 END) AS N'应签'
FROM #Temp
GROUP BY bmname