加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-01-10 22:19:01 所属栏目:MsSql教程 来源:网络整理
导读:我有一个类似于这里的表: SetId AppCode AppEventId EventId FieldId ValueData2012/2013 1000 361616 16 1 UNI 2012/2013 1000 361616 16 2 Isolation2012/2013 1000 361616 16 3 DN2012/2013 1050 378194 16 1 BUL2012/2013 1050 378194 16 2 Isolation201

我有一个类似于这里的表:

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

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读