读书人

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

发布时间: 2012-08-16 12:02:16 作者: rapoo

怎么把这几条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 

读书人网 >SQL Server

热点推荐