2张表(表a,表b)同时右关联第3张表(表c)的一个字段,然后加上条件查询前两张表的数据
比如a和b都是学校中所有学生的信息,其中都有学号,然而a和b存放的数据分别是学生成绩和学生家庭住址,然后c是某个班的学生学号表(假如有20条学号信息),我现在要查c表这个...
比如a和b都是学校中所有学生的信息,其中都有学号,然而a和b存放的数据分别是学生成绩和学生家庭住址,然后c是某个班的学生学号表(假如有20条学号信息),我现在要查c表这个班在a,b表中对应的信息,查询出来不管a和b是否有c学号的信息,都要显示20条
展开
1个回答
推荐于2017-11-22
展开全部
如果A表里的成绩是一个学生一条,B表里也是一个学生一条(家庭地址应该不会出现两条),那很简单,C通过学号,关联A,关联B,就结束了
select C.*,A.成绩,B.地址
from C
left join A on C.学号=A.学号
left join B on C.学号=B.学号
用 inner join也是可以的吧
如果A里的成绩不是一个学生一条,是一个学生多条,那么要先处理A表,纵横转换,做成一个学生一条,科目是列名,再用上面的方法关联就好了
纵横转换的话,可以考虑用游标,逻辑简单点,做个临时表,或者用PIVOT,用法自己百度吧
select C.*,A.成绩,B.地址
from C
left join A on C.学号=A.学号
left join B on C.学号=B.学号
用 inner join也是可以的吧
如果A里的成绩不是一个学生一条,是一个学生多条,那么要先处理A表,纵横转换,做成一个学生一条,科目是列名,再用上面的方法关联就好了
纵横转换的话,可以考虑用游标,逻辑简单点,做个临时表,或者用PIVOT,用法自己百度吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询