如何分割4列,一行分为2列,两行?

sal*_*ere 1 sql t-sql sql-server split sql-server-2008-r2

我正在使用SSRS 2008R2SSMS 2008R2我试图分割4列,一行分为两行,两列.我怎样才能做到这一点?

以下是一些示例数据:

create table #foo
(col1 int, col2 int, col3 int, col4 int)
insert #foo values(1,2,3,4)
insert #foo values(5,6,7,8)
insert #foo values(9,10,11,12)
select * from #foo
Run Code Online (Sandbox Code Playgroud)

但我想将此数据转换为如下所示:

create table #goo (col1 int, col2 int)
insert #goo values(1,2)
insert #goo values(3,4)
insert #goo values(5,6)
insert #goo values(7,8)
insert #goo values(9,10)
insert #goo values(11,12)
select * from #goo
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Luk*_*zda 5

很简单:

create table #foo(col1 int, col2 int, col3 int, col4 int);
insert #foo values(1,2,3,4),(5,6,7,8),(9,10,11,12);

SELECT col1, col2 
FROM #foo
UNION ALL 
SELECT col3, col4
FROM #foo;
Run Code Online (Sandbox Code Playgroud)

LiveDemo

前2列UNION ALL,第3 列和第4列.

如果您需要存储在#goo中使用:

SELECT col1, col2
INTO #goo 
FROM #foo
UNION ALL 
SELECT col3, col4
FROM #foo;

SELECT * FROM #goo;
Run Code Online (Sandbox Code Playgroud)