日期:2014-05-17  浏览次数:20564 次

万恶的行变列,纠结了,求高人指点

想要的最终结果是
ReportDate  TagName            1     2 ...     8    ...   10 ........13      14 .....
2012-12-25  QLJ.PIA_101       191  2468.596 
2012-12-25  MMRDC.B1LT8103A                 86394.453
2012-12-25  MMRDC.B2LT8103A                             86398.438
2012-12-25  QLJ.TI_101                                             385.219   4133.108
.
.
.
.
不知道有没有表达清楚,空白地方0代替就OK
------解决方案--------------------
select  ReportDate,TagName,
        max(case RangeID when 1 then LastTime_TotalSeconds else 0 end) as 1,
        max(case RangeID when 2 then LastTime_TotalSeconds else 0 end) as 2,
        max(case RangeID when 3 then LastTime_TotalSeconds else 0 end) as 3,
        .
        .
        .
from  tb
group by  TagName,ReportDate