【发布时间】:2010-10-26 04:25:43
【问题描述】:
比如我需要从
到
。
我知道 PIVOT 就是为了这个,但它需要一个聚合函数;就我而言,我不需要聚合只需要列到行。
您可以使用以下示例数据:
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
【问题讨论】:
-
所以您实际上想要多个名为“80”、“90”、“70”、“85”的列?或者您是否在为每个用户名寻找一行并且每列都是主题?在这种情况下,@OMG Ponies 的回答符合您的需求,正如您所见,您确实需要一个聚合。
标签: sql sql-server tsql pivot