当前位置: 代码迷 >> Sql Server >> 怎么合并这三句sql,使得能够一次性查出来
  详细解决方案

怎么合并这三句sql,使得能够一次性查出来

热度:55   发布时间:2016-04-27 20:53:04.0
如何合并这三句sql,使得能够一次性查出来
select   count(declaretype)   专项任务   from   T_DeclareItem   where   stateid=2   group   by   declaretype
having   declaretype= '专项任务 '
select   count(declaretype)   专项任务   from   T_DeclareItem   where   stateid=2   group   by   declaretype
having   declaretype= '自筹经费 '
select   count(declaretype)   专项任务   from   T_DeclareItem   where   stateid=2   group   by   declaretype
having   declaretype= '重点项目 '

------解决方案--------------------
select sum(case when declaretype= '专项任务 ' then 1 else 0 end) as '专项任务 ',
sum(case when declaretype= '自筹经费 ' then 1 else 0 end) as '自筹经费 ',
sum(case when declaretype= '重点项目 ' then 1 else 0 end) as '重点项目 '
from T_DeclareItem where stateid=2 group by declaretype
------解决方案--------------------
select
'专项任务 ' = sum(case when declaretype= '专项任务 ' then 1 else 0 end),
'自筹经费 ' = sum(case when declaretype= '自筹经费 ' then 1 else 0 end),
'重点项目 ' = sum(case when declaretype= '重点项目 ' then 1 else 0 end)
from T_DeclareItem where stateid=2 group by declaretype
  相关解决方案