Ari*_*ian 6 sql sql-server unpivot sql-server-2008
请考虑此表:
ID Page Line C01 C02 C03
---------------------------------------------------------------------
1 122 11 1 0 1
1 123 11 1 1 1
1 124 12 0 0 0
1 125 16 1 0 1
1 127 11 0 1 0
Run Code Online (Sandbox Code Playgroud)
我想将此表转换为此表:
ID Page Line City Value
-----------------------------------------------------------
1 122 11 C01 1
1 122 11 C02 0
1 122 11 C03 1
1 123 11 C01 1
1 123 11 C02 1
1 123 11 C03 1
...
Run Code Online (Sandbox Code Playgroud)
我怎么能以适当的方式做到这一点?
使用UNPIVOT.尝试类似的东西:
SELECT ID, Page, Line, City, Value
FROM SourceTable
UNPIVOT
(Value FOR City IN
(C01, C02, C03)
)AS unpvt;
Run Code Online (Sandbox Code Playgroud)
其中'SourceTable'是您的源表名称.(注意:我现在无法测试,所以它可能不完全正确.)
详细信息请访问:http://msdn.microsoft.com/en-us/library/ms177410(v = sql.105).aspx