-- 创建测试表格
CREATE TABLE TestTable (ID INT, Name VARCHAR(50), Age INT)
INSERT INTO TestTable VALUES (1, 'John', 25)
INSERT INTO TestTable VALUES (2, 'Jane', 30)
-- 使用UNPIVOT进行列转行
SELECT ID, ColumnName, Value
FROM TestTable
UNPIVOT (Value FOR ColumnName IN ([Name], [Age])) AS UnpivotedData;
输出结果如下:
ID | ColumnName | Value |
---|---|---|
1 | Name | John |
1 | Age | 25 |
2 | Name | Jane |
2 | Age | 30 |