有A,B,C,D 4个表
A表是学生信息表,包含学生学号、姓名等基本信息
B表是学生进度表,包含学生学号、进度等学习情况信息
C表是学生违纪表,包含学生学号、违纪次数等相关信息
D表是学生就业表,包含学生学号,就业企业等就业相关信息注意:以上表中各个学生记录唯一,譬如A表中只有学号为03041154学生的一条记录
B表中只有学号为03041154学生的一条记录现在存在这样的问题,A表中包含所有学员的信息,但是B,C,D表中只包含部分学员
的相关记录,譬如,学号为03041154的学员记录在A表中有,但是在B表中没有,
C表中有,D表中没有,等。怎么实现以A表为基础,查询所有学员的上述4个表中的信息,表中有的显示信息,
没有就空着譬如
学号 进度 违纪次数 就业
03041154 10 是
03041155 C++ 否
A表是学生信息表,包含学生学号、姓名等基本信息
B表是学生进度表,包含学生学号、进度等学习情况信息
C表是学生违纪表,包含学生学号、违纪次数等相关信息
D表是学生就业表,包含学生学号,就业企业等就业相关信息注意:以上表中各个学生记录唯一,譬如A表中只有学号为03041154学生的一条记录
B表中只有学号为03041154学生的一条记录现在存在这样的问题,A表中包含所有学员的信息,但是B,C,D表中只包含部分学员
的相关记录,譬如,学号为03041154的学员记录在A表中有,但是在B表中没有,
C表中有,D表中没有,等。怎么实现以A表为基础,查询所有学员的上述4个表中的信息,表中有的显示信息,
没有就空着譬如
学号 进度 违纪次数 就业
03041154 10 是
03041155 C++ 否
A.*,
B.除了学号你要的字段,
C.除了学号你要的字段,
D.除了学号你要的字段
from
A left join B
on A.学号 = A.学号
left join C
on A.学号 = C.学号
left join D
on A.学号 = D.学号
select
A.*,
B.除了学号你要的字段,
C.除了学号你要的字段,
D.除了学号你要的字段
from
A left join B
on A.学号 = B.学号
left join C
on A.学号 = C.学号
left join D
on A.学号 = D.学号
A.学号,
IsNull(B.进度,'') As 进度,
IsNull(C.违纪次数,'') As 违纪次数,
Case When D.就业企业 Is Null Then '否' Else '是' End As 就业
From A
Left Join B
On A.学号=B.学号
Left Join C
On A.学号=C.学号
Left Join D
On A.学号=D.学号
select
A.*,
B.除了学号你要的字段,
C.除了学号你要的字段,
D.除了学号你要的字段
from
A left join B
on A.学号 = B.学号
left join C
on A.学号 = C.学号
left join D
on A.学号 = D.学号