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

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

发布时间:2021-01-08 06:42:53 所属栏目: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

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    相关内容
    未处理完善
      无相关信息
    未处理完善