DECLARE @StuList TABLE
(
Stu VARCHAR(20),
Course NVARCHAR(20),
Score DECIMAL
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Jim', -- Stu - varchar(20)
N'语文', -- Course - nvarchar(20)
80 -- Score - decimal
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Jim', -- Stu - varchar(20)
N'数学', -- Course - nvarchar(20)
90 -- Score - decimal
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Tom', -- Stu - varchar(20)
N'语文', -- Course - nvarchar(20)
95 -- Score - decimal
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Tom', -- Stu - varchar(20)
N'数学', -- Course - nvarchar(20)
100 -- Score - decimal
)
SELECT * FROM @StuList
SELECT Stu, SUM(CASE Course WHEN '语文' THEN Score END) AS '语文',SUM(CASE Course WHEN '数学' THEN Score END) AS '数学'
FROM @StuList
GROUP BY Stu
(
Stu VARCHAR(20),
Course NVARCHAR(20),
Score DECIMAL
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Jim', -- Stu - varchar(20)
N'语文', -- Course - nvarchar(20)
80 -- Score - decimal
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Jim', -- Stu - varchar(20)
N'数学', -- Course - nvarchar(20)
90 -- Score - decimal
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Tom', -- Stu - varchar(20)
N'语文', -- Course - nvarchar(20)
95 -- Score - decimal
)
INSERT INTO @StuList
( Stu, Course, Score )
VALUES ( 'Tom', -- Stu - varchar(20)
N'数学', -- Course - nvarchar(20)
100 -- Score - decimal
)
SELECT * FROM @StuList
SELECT Stu, SUM(CASE Course WHEN '语文' THEN Score END) AS '语文',SUM(CASE Course WHEN '数学' THEN Score END) AS '数学'
FROM @StuList
GROUP BY Stu