当前位置:数据库 > SQLServer >>

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两种身份验证

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,