【发布时间】:2019-06-11 17:45:05
【问题描述】:
我想使用 SQL Server 将列转换为行。我已经尝试过 unpivot 但没有足够的知识使它只能制作一列
SELECT Unit,Excess_Reactivity ,Refuelling_required,MBP,MCP ,CPPF,Date FROM yourTable // select statement
//insert to check data
INSERT INTO yourTable
(Unit,Excess_Reactivity ,Refuelling_required,MBP ,MCP ,CPPF ,Date)
VALUES
('TAP-4','52','test1','12','96','35','2019-06-11 00:00:00.000')
INSERT INTO yourTable
(Unit,Excess_Reactivity ,Refuelling_required,MBP ,MCP ,CPPF ,Date)
VALUES
('TAP-2','52','test1','12','96','35','2019-06-11 00:00:00.000')
INSERT INTO yourTable
(Unit,Excess_Reactivity ,Refuelling_required,MBP ,MCP ,CPPF ,Date)
VALUES
('TAP-3','52','test1','12','96','35','2019-06-11 00:00:00.000')
这是桌子
+--------+--------+---------+-----+-----+------+------------+
| UNit | excess | refuell | MBp | MCP | CPPF | DATE |
+--------+--------+---------+-----+-----+------+------------+
| TAPS-4 | 52 | test1 | 12 | 96 | 35 | 11/06/2019 |
| TAPS-3 | 52 | test1 | 13 | 96 | 35 | 11/06/2019 |
| TAPS-2 | 52 | test1 | 42 | 96 | 35 | 11/06/2019 |
| TAPS-1 | 52 | test1 | 18 | 96 | 35 | 11/06/2019 |
+--------+--------+---------+-----+-----+------+------------+
我想要这样如下图:
Values TAPS-4 TAPS-3 TAPS-2 TAPS-1
--------------------------------------
excess 52 52 52 52
MBp 12 13 42 18
MCP 96 96 96 96
CPPF 35 35 35 35
【问题讨论】:
-
您是否需要动态枢轴或者您知道您的
VALUES? -
为什么要撤消我的格式?
-
是的,需要动态的,它收集名称并设置为列,多列数据将设置为行
-
Juan Carlos Oropeza sry 第一次在 stackoverflow 中添加需要这些来快速解决我不知道你改变的格式你可以再次改变它
-
我恢复到我的版本你现在可以添加更改
标签: sql-server pivot unpivot