首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-08-16 
怎么把这几条sql语句合成一条查出来?OState int not null--订单状态1新订单,2订单确认,3发货,4订单结

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

热点排行