1
A
回答
3
尝试
select *
from yourTable
unpivot (
Value
for NewCol in (Value1, Value2, Value3,Value4, Value5)
) up
+0
感谢nazark,这对我有用。欣赏这里的帮助。 –
0
转换列行被称为unpivoting。将行转换为列是旋转的。
一种解决数据不透明的方法是将apply operator与table value constructor合并。
本示例使用common table expression (CTE)返回3个样本记录。
Id ColumnOne ColumnTwo ColumnThree
1 a b c
2 d e f
3 g h i
例
-- Unpivoting with apply and VALUES.
WITH SampleData AS
(
/* This CTE returns 3 sample records.
*/
SELECT
cte.*
FROM
(
VALUES
(1, 'a', 'b', 'c'),
(2, 'd', 'e', 'f'),
(3, 'g', 'h', 'i')
) AS cte(Id, ColumnOne, ColumnTwo, ColumnThree)
)
SELECT
sd.Id,
ca.*
FROM
SampleData AS sd
CROSS APPLY
(
VALUES
(ColumnOne),
(ColumnTwo),
(ColumnThree)
) AS ca (ColumnFour)
;
返回的输出如下所示:
Id ColumnFour
1 a
1 b
1 c
2 d
2 e
2 f
3 g
3 h
3 i
个人而言,我更喜欢@ nazark的做法。使用UNPIVOT运算符可帮助其他人遵循代码的意图。如果这个答案帮助你请accept it。接受答案奖励贡献者的努力,并帮助具有相同问题的其他人找到工作答案。
+0
感谢您解释所有这些.. nazark的回复帮助我获得了所需的结果 –
相关问题
- 1. 行转换成列的sql
- 2. 转换SQL行成列
- 3. SQL转置成多列行
- 4. 将多列转换成行
- 5. 转换行成多列
- 6. 转换列成行的T-SQL(SQL 2005)
- 7. 变换行转换成列MS SQL
- 8. [R变换多个行转换成列
- 9. SQL合并行转换成列(多对多情况)
- 10. SQL查询行转换成列
- 11. 合并行转换成列的sql
- 12. 行转换成列
- 13. 转换列成行
- 14. 转换列成行
- 15. SQL将多列转换为行
- 16. 转列转换为行SQL
- 17. 切换行转换成列
- 18. 我如何多列数据转换成一行在SQL
- 19. 星火SQL:转换一些行转换成列
- 20. 转换行转换成列在SQL查询栏时间
- 21. 转换多行多列
- 22. SQL将行转成列
- 23. SQL将行转换为列
- 24. SQl的行列转换
- 25. 转换行列在SQL
- 26. SQL将行转换为列
- 27. 转换列行和SQL Server
- 28. SQL表行 - 列转换
- 29. 转换列行的SQL Server
- 30. 将SQL列转换为行
请使用纯文本格式的样本数据,而不是图像。 –
查看'UNPIVOT' –