【问题标题】:show single row to multiple columns in sql server在sql server中显示单行到多列
【发布时间】:2017-11-28 17:05:52
【问题描述】:

我有一张如下表

ID | Data | IDS
1  |  s1  |  4
2  |  s2  |  4
3  |  s3  |  4
4  |  d1  |  5
5  |  d2  |  5

我需要数据来显示类似 USING IDS COLUMN DATA 的列

Data1 | Data2
s1    |  d1
s2    |  d2
s2    |  null

请对此要求提出建议

【问题讨论】:

  • 我认为您的问题在预期结果中有错字。

标签: sql sql-server sql-server-2008 sql-server-2016


【解决方案1】:

您可以使用row_number()group by 来做到这一点:

select max(case when ids = 4 then data end) as col1,
       max(case when ids = 5 then data end) as col2
from (select t.*, row_number() over (partition by ids order by id) as seqnum
      from t
     ) t
group by seqnum;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    • 2013-09-10
    • 2013-03-23
    • 2016-09-14
    • 1970-01-01
    • 2014-06-07
    相关资源
    最近更新 更多