当前位置: 代码迷 >> Sql Server >> 如何把这几条sql语句合成一条查出来
  详细解决方案

如何把这几条sql语句合成一条查出来

热度:84   发布时间:2016-04-27 12:02:32.0
怎么把这几条sql语句合成一条查出来?
OState int not null--订单状态'1=新订单,2=订单确认,3=发货,4=订单结束',

select count(*) as '新订单' from Orders where OState=1
select count(*) as '确认订单' from Orders where OState=2
select count(*) as '发货订单' from Orders where OState=3
select count(*) as '成交订单' from Orders where OState=4

------解决方案--------------------
SQL code
select  sum(case when OState=1  then 1 else 0 end) as '新订单' ,  sum(case when OState=2  then 1 else 0 end) as '确认订单'   sum(case when OState=3  then 1 else 0 end) as '发货订单',  sum(case when OState=4  then 1 else 0 end) as '成交订单' from   Orders
------解决方案--------------------
SQL code
select  sum(case when OState=1 then 1 else 0 end)新订单 ,sum(case when OState=2 then 1 else 0 end)确认订单 ,sum(case when OState=3 then 1 else 0 end)发货订单 ,sum(case when OState=4 then 1 else 0 end)成交订单 from Orders
------解决方案--------------------
SQL code
SELECT  SUM(CASE WHEN OState = 1 THEN 1 ELSE 0 END) 新订单,         SUM(CASE WHEN OState = 2 THEN 1 ELSE 0 END) 确认订单,         SUM(CASE WHEN OState = 3 THEN 1 ELSE 0 END) 发货订单,         SUM(CASE WHEN OState = 4 THEN 1 ELSE 0 END) 成交订单FROM    Orders
  相关解决方案