我是SQL Server的新手,我有一些问题要问.我有如下表:
NAME GRADE SUBJECT
JOHN A MATH
JOHN C PHYSIC
JENNY B PHYSIC
JENNY C MATH
KENNY A MATH
KENNY B PHYSIC
Run Code Online (Sandbox Code Playgroud)
.....
我想查询
NAME MATH PHYSIC
JOHN A C
JENNY C B
KENNY A B
Run Code Online (Sandbox Code Playgroud)
任何人都帮帮我!谢谢
如果并非所有名字都有所有科目的成绩
SELECT
b.name, m.grade AS MATH, p.grade AS PHYSIC
FROM
(
SELECT DISTINCT name FROM MyTable
) b
LEFT JOIN
MyTable m ON b.name = m.name AND m.subject = "MATH"
LEFT JOIN
MyTable p ON b.name = p.name AND p.subject = "PHYSIC"
Run Code Online (Sandbox Code Playgroud)