多表连接查询解决方案
多表连接查询
学生信息表(学生编号,姓名,班级编号)
班级信息表(班级编号,班级名称)
学生变动表(学生编号,新班级编号)
现在查询学生变动表,请教想实现查询结果为:
学生姓名,原班级名称,新班级名称
谢谢!
------解决方案--------------------
------解决方案--------------------
试试这个:
学生信息表(学生编号,姓名,班级编号)
班级信息表(班级编号,班级名称)
学生变动表(学生编号,新班级编号)
现在查询学生变动表,请教想实现查询结果为:
学生姓名,原班级名称,新班级名称
谢谢!
------解决方案--------------------
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