SQL – 将多行数据转换为单行

前端之家收集整理的这篇文章主要介绍了SQL – 将多行数据转换为单行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个类似于这里的表:
SetId       AppCode       AppEventId       EventId       FieldId       ValueData
2012/2013     1000         361616             16            1            UNI     
2012/2013     1000         361616             16            2            Isolation
2012/2013     1000         361616             16            3            DN
2012/2013     1050         378194             16            1            BUL
2012/2013     1050         378194             16            2            Isolation
2012/2013     1050         378194             16            3            RD

我希望能够在具有相同AppCode时将所有数据组合在一起.

看起来像这样:

SetId       AppCode       AppEventId       EventId       ValueData1      ValueData2      ValueData3
2012/2013     1000         361616             16            UNI            Isolation        DN
2012/2013     1050         378194             16            BUL            Isolation        RD

解决方法

试试这个
SELECT SetId,AppCode,AppEventId,EventId,max(CASE WHEN FieldId = 1 THEN ValueData END) AS ValueData1,max(CASE WHEN FieldId = 2 THEN ValueData END) AS ValueData2,max(CASE WHEN FieldId = 3 THEN ValueData END) AS ValueData3
   FROM Table_Name 
   GROUP BY SetId,EventId
原文链接:https://www.f2er.com/mssql/80316.html

猜你在找的MsSQL相关文章