日期:2014-05-17  浏览次数:20420 次

多表连接查询
学生信息表(学生编号,姓名,班级编号)
班级信息表(班级编号,班级名称)
学生变动表(学生编号,新班级编号)

现在查询学生变动表,请教想实现查询结果为:
学生姓名,原班级名称,新班级名称

谢谢!
------解决方案--------------------
select s.姓名,c1.班级名称 as 原班级名称,c.班级名称 as 新班级名称
from student_change SC 
inner join students S on sc.student_id=s.student_id
inner join classes C on c.class_id = sc.新班级编号
inner join classes C1 on c1.class_id = s.班级编号

------解决方案--------------------
试试这个:
select s.姓名,
       (select c1.班级名称 from classes C 
        where c.class_id = sc.新班级编号) as 原班级名称,
        
       (select c.班级名称 from classes C1 
        where c1.class_id = s.班级编号) as 新班级名称
        
from student_change SC 
inner join students S on sc.student_id=s.student_id