首页 新闻 会员 周边

以一个表为基础,多表联合查询

0
[待解决问题]
有三个表
表1:Dclass
did dname
1 文学
2 英语
3 语文
4 数学

表2:examcontent
eid did
1 1
2 1
3 1
4 2
5 3

表3:Userexamanswer
aid eid uid
1 1 1
2 1 1
3 1 1
4 2 1
5 4 1
6 4 1

表1为试题类型表,表2为试题内容表,表3为学员答题情况表
现在要求按表1为基础查询出各类型某个学员的答题情况统计,也就是要查询出一下数据
did dname cnt
1 文学 4
2 英语 2
3 语文 0
4 数学 0

三表直接联合查询不行,因为表3中不一定含有某类型的数据,这个时候就只会显示有数据的类型了
生活无限的主页 生活无限 | 初学一级 | 园豆:6
提问于:2013-05-22 17:20
< >
分享
所有回答(3)
0

可以left join或right join不一定是inner join。

yyutudou | 园豆:997 (小虾三级) | 2013-05-22 17:33
0

Left Join

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-05-22 18:01
0

select dname,b.cnt from Dclass
inner join (select examcontent.did,count(Userexamanswer.eid) as cnt from examcontent
left join Userexamanswer
on examcontent.eid=Userexamanswer.eid
group by examcontent.did,examcontent.eid) b
on dclass.did=b.did

 

这个应该我没问题了。一定要采纳哦。专门建表去解决你这个问题!

AStronghcm | 园豆:313 (菜鸟二级) | 2013-05-23 16:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册