SQL Server l查询排序问题
现有
明细表:
型号 客户 数量
aa 小计 50
bb 小计 10
cc 小计 20
aa cst1 20
aa cst2 30
bb cst1 10
cc cst3 5
cc cst4 15
客户列为'小计'的'数量'是该型号总数量
如何写查询语句 效果如下:
型号 客户 数量
aa 小计 50
aa cst1 20
aa cst2 30
bb 小计 10
bb cst1 10
cc 小计 20
cc cst3 5
cc cst4 15
即每个产品的小计后面跟着明细,明细列按客户排列
不使用临时表
答案:select * from 明细表 order by 型号 asc,case 客户 when N'小计' then '0' else 客户 end asc
其他:select * form table order by 型号,客户 create table #a ( xh varchar(20),khu varchar(20) ,num int)
insert #a select 'aa', '小计' , 50
insert #a select 'bb', '小计' , 10
insert #a select 'cc' , '小计', 20
insert #a select 'aa' , 'cst1' , 20
insert #a select 'aa' , 'cst2', 30
insert #a select 'bb' , 'cst1', 10
insert #a select 'cc' , 'cst3' , 5
insert #a select 'cc' , 'cst4' , 15
select * from #a order by xh asc, ( case khu when '小计' then 'cst0' end ) desc
上一个:sql server 2000中的server和services怎么填?现在后台图标那里是个白点。
下一个:SQL server里windows和SQL server两种身份验证