Par exemple, je dois changer deComment faire de Column to Row sans une fonction d'agrégation dans sql server 2005/8?
à
.
Je sais que PIVOT est pour cela, mais il nécessite une fonction d'agrégat; et pour mon cas, je n'ai pas besoin d'agréger seulement besoin de colonne pour ramer.
Vous pouvez utiliser les données d'exemple suivant:
CREATE TABLE[StudentScores]
(
[UserName] NVARCHAR(20),
[Subject] NVARCHAR(30),
[Score]FLOAT,
)
GO
INSERT INTO[StudentScores]SELECT'Nick','Chinese',80
INSERT INTO[StudentScores]SELECT'Nick','Maths',90
INSERT INTO[StudentScores]SELECT'Nick','English',70
INSERT INTO[StudentScores]SELECT'Nick','Biology',85
INSERT INTO[StudentScores]SELECT'Kent','Chinese',80
INSERT INTO[StudentScores]SELECT'Kent','Maths',90
INSERT INTO[StudentScores]SELECT'Kent','English',70
INSERT INTO[StudentScores]SELECT'Kent','Biology',85
Donc, vous voulez réellement plusieurs colonnes nommées '80', '90', '70', '85'? Ou cherchez-vous une rangée pour chaque nom d'utilisateur et chaque colonne est les sujets? Dans ce cas, @OMG Ponies répond à vos besoins, et comme vous pouvez le voir, vous avez vraiment besoin d'un agrégat. –