sql查询结果横向显示
数据库表:FL
字段名称:A,B,C
查询语句:
declare @sql varchar(8000) set @sql = 'select A AS 台号' select @sql = @sql + ' , max(case B when ''' + B + ''' then C else 0 end) [' + B + ']' from (select distinct B,D from fl ) as a order by D set @sql = @sql + ' from fl group by A' exec(@SQL)
横向显示结果:
---------------------问题--------------------
FL数据库表中再添加两个字段D(排序),E(日期)
问题:怎样实现根据D字段排序 和 E字段指定日期横向显示?
[最优解释]
declare @sql varchar(8000)
set @sql = 'select A AS 台号'
select @sql = @sql + ' , max(case B when ''' + B + ''' then C else 0 end) [' + B + ']'
from (select distinct B,D from fl ) as a order by D
set @sql = @sql + ' from fl where 日期='+quotename('2012-5-7','''')+' group by A' exec(@SQL)