【发布时间】:2021-12-18 22:35:31
【问题描述】:
我有以下sn-ps:
CREATE TABLE [SINGLE_COL]
(
[COL1] [varchar](50) NULL,
[COL2] [varchar](50) NULL,
[COL3] [varchar](50) NULL
)
GO
INSERT INTO [SINGLE_COL]
VALUES ('A', 'B', 'C')
GO
INSERT INTO [SINGLE_COL]
VALUES ('D', 'E', 'F')
GO
select * from [SINGLE_COL]
返回如下:
COL1 COL2 COL3
A B C
D E F
我想把所有的行变成一列,如下所示:
COL
A
B
C
D
E
F
这是我在 oracle 中所做的:
SELECT col FROM SINGLE_COL
UNPIVOT (col FOR col1 IN (col1, col2, col3));
在 Oracle 中非常简单易行,但在 MS SQL Server 中则不然!
我相信我必须使用函数 UNPIVOT 但如何??
谢谢!
【问题讨论】:
-
如果它对某人有帮助,您可以在 Oracle 中为此使用的查询中 edit 吗?
标签: sql sql-server pivot unpivot