sql 数据库 一对多查询

例如table1

table1

请问一下。sql 语句要怎么写才能得到下面的结果呢。

你怎么俩table1,后一个叫table2吧

 

执行以下语句

select t1.考试学号,t1.科目,t2.考试成绩
from
(select a.科目,a.科目ID,b.考试学号
from
(select 科目,科目ID from table1) as a,
(select distinct 考试学号 from table2) as b) as t1 left join
table2 as t2 on t1.科目ID=t2.科目ID and t1.考试学号=t2.考试学号

 

结果截图

 

下边还有几条没显示全,凑合看吧

追问

这位大哥,你的答案很好,我采纳的时候点错了。我百度了下,也不可以修改了,不好意思哈,谢谢了。

追答

这位小弟,要不你再问一次,要不我多委屈

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19
select t1.考试学号,t2.科目名,(select t3.成绩 from tab_student t3 where t3.学号= t1.学号 and t2.科目ID= t3.科目ID)
from (select distinct 考试学号 from tab_student) t1, tab_科目 t2本回答被提问者采纳
相似回答