我有一个这样的表,我需要将行转换为单列
PreviousYear CurrentYear
2014 2015
我需要这样的输出
Year
2014
2015
我对SQL很陌生,非常感谢任何帮助。
答案 0 :(得分:1)
您可以使用UNION
(会给您不同的值)或UNION ALL
(不会给您不同的值):
SELECT PreviousYear AS 'Year'
FROM tablename
UNION ALL
SELECT CurrentYear
FROM tablename
这假设两列PreviousYear
和CurrentYear
具有相同的数据类型,否则将需要显式强制转换。
答案 1 :(得分:0)
在一般/更复杂的情况下,您可以在列上使用UNPIVOT将数据作为行返回。如果需要,这样做的好处是可以在不透明的行中提供列名称:
SELECT
TheYear
FROM
MyTable
UNPIVOT
(
TheYear
for years in ([PreviousYear], [CurrentYear])
) unpvt;