J'ai les données suivantes retournées acheter une requête SQL simple. Le nombre de sites pourrait changer, mais X, Y, Z sont fixes (ils sont différents types d'accidents, et les données stockées représente le nombre d'occurences)Problème de Pivot SQL - agrégats multiples?
| Site | X | Y | Z |
--------------------
A 1 2 3
B 4 5 6
C 7 8 9
je dois obtenir le format suivant
| A | B | C |
--------------
1 4 7
2 5 8
3 6 9
J'ai ce jusqu'à
select *
from Example
pivot
(
Max(X)
for site in ([A],[B],[C])
) as p
Mais je pense que je besoin de plusieurs agrégats (pour X, Y et Z).
Voici un script rapide pour créer les données de base
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Example](
[Site] [nvarchar](50) COLLATE Latin1_General_CI_AS NOT NULL,
[X] [int] NOT NULL,
[Y] [int] NOT NULL,
[Z] [int] NOT NULL
) ON [PRIMARY]
insert into Example(Site, X,Y,Z) Values ('A',1,2,3)
insert into Example(Site, X,Y,Z) Values ('B',4,5,6)
insert into Example(Site, X,Y,Z) Values ('C',7,8,9)
Toute aide vraiment bienvenue que je suis coincé!
Mark
Parfait, j'ai maintenant travailler. –