sql转换表结构
现有如下表结构和数据:(表名为course)name subject grade
张三 语文 20
张三 数学 30
张三 英语 60
李四 语文 40
李四 数学 90
李四 英语 100
如何用SQL语句查询出如下结构的结果:
姓名 语文 数学 英语
张三 20 30 60
李四 40 90 100
答案:
select distinct t.name 姓名,t1.grade 语文,t2.grade 数学,t3.grade 英语
from course t,
(select c.name,c.grade from course c where c.subject='语文')t1,
(select c.name,c.grade from course c where c.subject='数学')t2,
(select c.name,c.grade from course c where c.subject='英语')t3
where t.name=t1.name
and t.name = t2.name
and t.name = t3.name
页:
[1]