因此,我有一个表,用于显示服务器的应用程序版本。 检查每个服务器,每个应用程序的每个版本。 我正在使用Microsoft SQL Server Management Studio 基本上这就是我的桌子现在的样子:
| Application | Server | Version |
---------------------------------------
| Application_1 | Server_1 | 420 |
| Application_1 | Server_2 | 410 |
| Application_1 | Server_3 | 420 |
| Application_2 | Server_1 | 18 |
| Application_2 | Server_2 | 19 |
| Application_2 | Server_3 | 18 |
,我想将其透视为每个应用程序。像这样:
| Application | Server_1 | Server_2 | Server_3 |
---------------------------------------
| Application_1 | 420 | 410 | 420 |
| Application_2 | 18 | 19 | 18 |
我搜索了以前有关数据透视的主题,研究了论坛和教程,但是仍然找不到如何使用它。 任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
这会做到
DECLARE @TBL TABLE ([Application] VARCHAR(50), [Server] VARCHAR(50) ,[Version] INT)
INSERT INTO @TBL VALUES
('Application_1','Server_1',420),
('Application_1','Server_2',410),
('Application_1','Server_3',420),
('Application_2','Server_1',18),
('Application_2','Server_2',19),
('Application_2','Server_3',18);
SELECT * FROM @TBL
PIVOT
(
SUM([Version]) FOR [Server] IN ([Server_1],[Server_2],[Server_3])
) PV