关于网友提出的“ 求助一句sql写法,关于两张表的关联”问题疑问,本网通过在网上对“ 求助一句sql写法,关于两张表的关联”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 求助一句sql写法,关于两张表的关联
描述:本帖最后由 u010991683 于 2016-05-19 08:52:18 编辑
表A是学生资料 比如有100名学生的姓名和学号
表B是学生多年语文 数学的成绩清单 有的学生只有2016年的数据 有的学生一条数据也没有,有的可能有多年
比如
学生001 2016年 语文100 数学100
学生001 2015年 语文99 数学100
学生003 2015年 语文100 数学99
。。。。
我想列出一张表 第一列是100个学生的名字 就是不管B表里有没有他成绩数据 有1条还是多条 都显示一行他的名字
然后第二列是当年的语文成绩
第三列是当年的数学成绩
没有成绩数据 就空着
当年 这个变量在sql里 year=年份 year是B表里一个字段
我现在不管怎么用left 都不能显示100行记录 要么因为B表里没有成绩 有些名字显示不了,要么全部显示出来 有重复姓名
请问正确的写法是怎样呢 谢谢
因为是在网页上显示 其实分开几次获取数据 用函数还是可以的 第一次读取姓名 第二次分别读取成绩
这个算是没办法的办法吧
但是现在还要按照成绩排序 就郁闷了
解决方案1: 嗯。。我这就想了下,这样子写你看可不可以的。
select 表A.name,temp.数学,temp.语文 from 表A left join (select * from 表B where 表B.year=2015) temp on 表A学号=temp.学号
以上介绍了“ 求助一句sql写法,关于两张表的关联”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1954498.html