考虑实用union,在排序字段上慎重些就行了
解决方案 »
- SQL2008 R2访问另外一个数据库时,怎么会这么慢
- 为什么存储过程执行了记录添加不到表里面
- 简单SQL语法
- 请问这样在sql 查询中将类似2009/5/7 0:00:00转换成2009年5月7日?
- 如何将已知数据至少保留2位,最多保留4位??
- 如果用Windows用户验证方式登录,其对应的登录名是哪个?权限是?
- 帮忙看看这个sql语句怎么写!!!!!!
- 请问各位,怎样在数据库里存储数组呢?
- 菜鸟求教:怎样从外部执行*.sql文件来达到创建数据库的目的?
- 请问以下两条语句哪一条执行效率高?为什么?
- 数据导入问题,大家帮帮忙,大力请进(在线等待)
- 还是关于SP的return...(高手给说说吧,谢谢啦.)
union all
select null,null,..sum(数量) 数量...from 表 where 季度>=1 and 季度<=3
union all
select * from 表 where 季度>=4 and 季度<=6
union all
select null,null,..sum(数量) 数量...from 表 where 季度>=4 and 季度<=6
.........
select date,数量 from
(
select convert(varchar(10), 日期,120) date ,数量, 1 as flag
from tablename where datepart(quarter,日期)=1union allselect convert(varchar(10), 日期,120),数量,2
from tablename where datepart(quarter,日期)=2
union allselect convert(varchar(10), 日期,120),数量,3
from tablename where datepart(quarter,日期)=3
union allselect convert(varchar(10), 日期,120),数量,4
from tablename where datepart(quarter,日期)=4
union allselect cast(datepart(quarter,日期) as varchar)+'季度合计' as 合计,sum(数量) 数量, cast (datepart(quarter,日期) as varchar)
from tablename
group by cast(datepart(quarter,日期) as varchar)+'季度合计',cast (datepart(quarter,日期) as varchar)) aorder by flag