求助:
A表的结构为(amount, code, months)三列,其中amount是总数,months是年+月,要求把months转成行,根据nb_line求amount
A表的结构为(amount, code, months)三列,其中amount是总数,months是年+月,要求把months转成行,根据nb_line求amount
解决方案 »
- 两个表,,以日期为界点,,算出日期之前的所有值之和与之后的所有值之和
- 如何设定可以使用双引号呢?
- SQL SERVER附加数据库进出现全路径
- 如何选择第一条和最后条记录
- 我写的一个排课软件,欢迎大家拍砖
- 执行sp_xml_preparedocument时提示装载msxml2.dll失败
- 请帮忙优化这段很笨的查询
- 要实现这样的功能
- 我在SQL Server写了一个存储过程,如何编译它呢?因为客户要求让数据库维护人员查看存储过程的代码。谢谢!
- Finding SQL servers that does not broadcast on the LAN
- Order by 按指定关健字排序1
- [求助]如何取分组最大值的行ID或者其它信息
insert into tb values('100' , '1' , '201001')
insert into tb values('200' , '2' , '201001')
insert into tb values('300' , '1' , '201002')
insert into tb values('400' , '2' , '201002')
insert into tb values('500' , '1' , '201005')
insert into tb values('600' , '3' , '201006')
declare @sql varchar(8000)
set @sql = 'select code '
select @sql = @sql + ' , sum(case months when ''' + months + ''' then amount else 0 end) [' + months + ']'
from (select distinct months from tb) as a
set @sql = @sql + ' from tb group by code'
exec(@sql
code 201001 201002 201005 201006
---- ---- ---- ---- ------ ----
1 100 300 500 0
2 200 400 0 0
3 0 0 0 600