sql 语句如何写啊

来源:百度知道 编辑:UC知道 时间:2024/05/28 09:11:50
表一

学生编号 学生姓名 学科 成绩
001 qq 语文 88
001 qq 数学 84
001 qq 英语 90
002 ww 语文 86
002 ww 数学 76
002 ww 英语 96
查询结果显示
学生编号 学生姓名 语文 数学 英语
001 qq 88 84 90
002 ww 86 76 96

如何用select查询。如何查,我要语句
谢谢大家啊!

这是个经典的应用,叫做自链接,希望你学会,以后遇到问题可以举一反三:

select a.学生编号, a.学生姓名, a.成绩, b.成绩, c.成绩,
from 表一 a, 表一 b, 表一 c
where a.学科='语文'
and b.学生编号=a.学生编号 and b.学科='数学'
and c.学生编号=a.学生编号 and c.学科='英语'

SQL> select * from test;

ID NAME SEMESTER RESULT
---------- -------------------- -------------------- ----------
1 qq 语文 88
1 qq 数学 84
1 qq 英语 90
2 ww 语文 86
2 ww 数学 76
2 ww 英语 96

已选择6行。

已用时间: 00: 00: 00.01
SQL> select max(id) as id,name,
2 max(decode(semester,'数学',result)) as math,
3 max(decode(semester