我正在使用SQL Server 2012作为我的数据库。现在,我有一张表格,内容如下。
ID COLUMN1 COLUMN2
1 A B
现在我想要这样的结果。
ID Values
1 A
1 B
任何人都可以建议我该怎么办? 我知道我可以使用pivot或unpivot。但我不知道该怎么办?还有其他办法吗?
请帮我写相同的查询。
提前致谢。
答案 0 :(得分:4)
您可以使用UNPIVOT获得最终结果:
select id, value
from yourtable
unpivot
(
value
for col in (COLUMN1, COLUMN2)
) u;
或者您可以使用CROSS APPLY来获取它:
select id, value
from yourtable
cross apply
(
values ('COLUMN1', COLUMN1), ('COLUMN2', COLUMN2)
) c (col, value)
答案 1 :(得分:3)
select id, col1 as value
from your_table
union all
select id, col2 as value
from your_table