【问题标题】:How to transform Rows into Column Sql Server [duplicate]如何将行转换为列 Sql Server [重复]
【发布时间】:2020-11-14 09:52:10
【问题描述】:

如何在 SQL serer 中将下表数据的行转换为列

实际表格

LabelID  |  LabelName
---------------------
    1    |  Label1
    2    |  Label2
    3    |  Label3
    4    |  Label4
    5    |  Label5

预期表

    1  |    2   |   3   |   4    |  5   
------------------------------------------
Label1 | Label2 | Labe3 | Label4 | Label15

【问题讨论】:

  • 为什么要标记 3 个完全不同的 SQL Server 版本,所有这些版本都不支持,其中 2 个完全不支持。如果您使用的是 2005,那么您发现它的许多答案可能都不起作用,因为您使用的技术已经 5~ 年没有得到支持。
  • 你有更多的 1 或 2 行还是 ...?

标签: sql sql-server sql-server-2005 sql-server-2012 sql-server-2008-r2


【解决方案1】:

这是一个示例查询,它可能会帮助您实现所需的输出。如果您实际上也有 5 行,则此查询将起作用。如果数据的行数和种类较多,您需要根据您的数据和所需的输出调整查询。

SELECT 
MAX(CASE WHEN LabelID = 1 THEN  LabelName END) [1],
MAX(CASE WHEN LabelID = 2 THEN  LabelName END) [2],
MAX(CASE WHEN LabelID = 3 THEN  LabelName END) [3],
MAX(CASE WHEN LabelID = 4 THEN  LabelName END) [4],
MAX(CASE WHEN LabelID = 5 THEN  LabelName END)[5]
FROM your_table

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 2015-12-04
    • 2011-12-22
    • 1970-01-01
    相关资源
    最近更新 更多