select * from tb order by 指标类型,序号
解决方案 »
- 一个挺有难度的sql多表查询语句
- SQL2005 子查询-集合?
- 如何获取SQL服务器的配置信息?
- 求sql
- update某条记录,在触发器中,如何获取某条记录更新前的值和更新后的值?
- 如何查看摸个数据库的日志
- 帮我看看这个存储过程创建一个修改更新的字符串语句该怎么做!谢谢!
- 为什么ADOTable连接到SQL SERVER2000后执行Insert后紧接着执行cancle总是提示:"BOF或EOB中有一个是真,或者当前的记录已被删除,所需的操作要求一个当前的记录...."如何解决?
- 对您很简单,对我很难,SQL server的存储过程中select一个表后如何得到记录数
- 求助:关于给存储过程传递参数的问题
- 如何在企业管理器里打开一张表的时候希望记录按某一字段的顺序排列显示
- 查询结果的合并问题
我的思路是这样
select * from 表 where 指标类型='月度指标' order by 序号
union all
select * from 表 where 指标类型='季度指标' order by 序号
union all
select * from 表 where 指标类型='年度指标' order by 序号
但是运行不通过,使用order by关键字就无法union,请高手指点
我感觉应该是
select 指标类型,sum(字段1),sum(字段2) from table group by 指标类型。
但是好像所有的字段都要加入聚合函数才可以,感觉不太对,所以请教一下。
order by charindex(指标类型,'月度指标季度指标年度指标'),序号
from (select distinct 指标类型 from 原表) As 主表
left join (select count(*) As A序号,A1.指标类型,A1.字段1,A1.字段2
from (select 指标类型,
sum(case 指标类型
when 月度指标1 then 字段1数量 else 0 end) As 字段1,
sum(case 指标类型
when 月度指标2 then 字段1数量 else 0 end) As 字段2
.....(类推)
from 原表 group by 指标类型) As A1 join A1 As A2
on A1.指标类型<A2.指标类型 group by A1.指标类型,A1.字段1,A1.字段2
) As A on A.指标类型=主表.指标类型
left join .....(类推)