【问题标题】:Convert Data from Columns to Rows [duplicate]将数据从列转换为行[重复]
【发布时间】:2015-06-25 12:58:36
【问题描述】:

我有一张表格,其中包含如下所示的数据。

ID  Full Name   Apples  Mangoes Grapes
1     Name1      15       19    13
2     Name2      11       16    15
3     Name3      12       18    11
4     Name4      16       20    11
5     Name5      14       19    13
6     Name6      19       15    18

我想这样转换它。

ID  Full Name   Fruits  Values
1   Name1       Apples  15
1   Name1       Mangoes 19
1   Name1       Grapes  13
2   Name2       Apples  11
2   Name2       Mangoes 16
2   Name2       Grapes  15
3   Name3       Apples  12
3   Name3       Mangoes 18
3   Name3       Grapes  11
4   Name4       Apples  16
4   Name4       Mangoes 20
4   Name4       Grapes  11
5   Name5       Apples  14
5   Name5       Mangoes 19
5   Name5       Grapes  13
6   Name6       Apples  19
6   Name6       Mangoes 15
6   Name6       Grapes  18

有没有可能在 Microsoft SQL 中完成?

【问题讨论】:

标签: sql sql-server database


【解决方案1】:

使用UNPIVOT:

select * from TableName
unpivot([Values] for Fruits in ([Apples], [Mangoes], [Grapes]))u

【讨论】:

  • @jpw,这是禁止的吗?
猜你喜欢
  • 2014-09-08
  • 2010-11-13
  • 2019-02-17
  • 2017-06-28
  • 2018-11-11
  • 2015-08-06
  • 2013-10-01
  • 2023-03-14
相关资源
最近更新 更多