当前位置: 代码迷 >> Sql Server >> 行列的转换,该怎么解决
  详细解决方案

行列的转换,该怎么解决

热度:80   发布时间:2016-04-27 16:25:49.0
行列的转换
下面是我表的结构和数据
PK_Param   FK_Point   PlanDate
1                 1                 2007-05-24
2                 1                 2007-05-24
3                 1                 2007-06-22
4                 1                 2007-06-22
5                 1                 2007-06-22

根据这些数据.要得到下面的结果

PK_Param   FK_Point   PlanDate
1,2               1                 2007-05-24
3,4,5           1                 2007-06-22




------解决方案--------------------
declare @sql varchar(8000)
set @sql = 'select PlanDate,FK_Point
select @sql = @sql + ' , sum(case PK_Param when ' ' ' + PK_Param + ' ' ' then PK_Param else 0 end) [ ' + PK_Param + '] '
from (select distinct PK_Param from tb) as a
set @sql = @sql + ' ,sum(PK_Param) 合计 from tb group by PlanDate,FK_Point
exec(@sql)
  相关解决方案