Mer*_*tez 2 sql t-sql sql-server pivot
我有一张如下表
Code Attribute Value
--------------------------------------
USA Population 300M
USA Language US English
CANADA Population 30M
USA Capital DC
CANADA Language CA English
Run Code Online (Sandbox Code Playgroud)
如何将表旋转90度并制作如下视图来运行查询和sp?
Code Language Population Capital
------------------------------------------------------
USA US English 300M DC
CANADA CA English 30M NULL
Run Code Online (Sandbox Code Playgroud)
Lam*_*mak 10
您可以使用PIVOT
(对于SQL Server 2005+):
SELECT *
FROM YourTable AS T
PIVOT (MIN(Value) FOR Attribute IN ([Language],[Population],[Capital]) AS PT
Run Code Online (Sandbox Code Playgroud)
对于所有版本的SQL Server,您可以使用:
SELECT Code,
MIN(CASE WHEN Attribute = 'Language' THEN Value END) [Language],
MIN(CASE WHEN Attribute = 'Population' THEN Value END) [Population],
MIN(CASE WHEN Attribute = 'Capital' THEN Value END) [Capital]
FROM YourTable
GROUP BY Code
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5268 次 |
最近记录: |