中易网

sql 多对多 查询

答案:4  悬赏:20  
解决时间 2021-01-14 10:37
sql 多对多 查询
最佳答案
select x.stuid,x.stu_name from stu as x inner join (
select a.stuid,b.cou_time from t_stu_cou as a inner join cou as b on a.couid=b.couid
group by a.stuid,b.cou_time having COUNT(*)>1 ) as y on x.stuid=y.stuid
其中有些栏位是我自己假设的,你可以根据实际状况改为你自己的追问用你的方法试了试,怎么只能查询出第一条数据呢?,而且这条数据的学生只选了一门课,课程一周有一课时,加上sql语句长度过长了,一会单独在把sql发出来追答你语句中的goup by呢?
我这边执行结果是对的
全部回答
你可以根据‘学生课程中间表’查看学生每个学生所选的课程,在课程表里应该有上课时间吧,那不就能看哪些同学上课时间有冲突了吗?
select a.stuid from (select top 1 stuid from t_stu_cou where count(stuid)=2 order by createtime group by createtime ) a inner join (select top 1 stuid from t_stu_cou where count(stuid)=2 order by createtime desc group by createtime) on a.stuid=b.stuid where a.createtime <> b.createtime
如果出现这种情况,那么对于此学生在同一上课时间的课程数量一定大于1,因此,在oracle数据库中,可以使用如下语句:
select t_stu_cou.stu_id,stu.stu_name,cou.begin_date,count(1)
from t_stu_cou,cou,stu
where t_stu_cou.stu_id=stu.stu_id
and t_stu_cou.cou_id=cou.cou_id
group by t_stu_cou.stu_id,stu.stu_name,cou.begin_date
having count(1)>1
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在没有信号灯的路口右转已经过了弯道,被直行
汉兰达2013款 2.7l 7座 紫金 怎么装行车记录
求新区5开赚钱的方法,我老手什么都试过以前
黄色冰糖好还是纯晶冰糖好
北市区公交车场坐72路公交车在哪上车
求人解字~有实力的来! (巴到当安地,江山万
怎样看待老年人的性需求
天猫魔盒什么应用可以看w两个世界
怎样贴吧投诉,我不懂
我这可以玩gta5吗?
如图所示:某海军基地位于A处.在其正南方向2
微单松下GF9中已经被删除的照片怎么找回
钰鑫汽车销售服务有限公司地址在哪,我要去那
我想从东京到镰仓玩一天,当晚再去横滨,有什
苹果5s1528ios11怎么降级或者怎么用联通4g
推荐资讯
假如隋炀帝离开
2017会计从业取消还要换证吗
佛山禅城区能进货车吗?
辽国和金国哪个国力强大?
邢台今天发生什么事啦?
甲状腺早期不做术会长吗
现在福州游心塾合气道馆还在吗
我有个表妹10岁了,暑假穿了个超短裙,中午时
美的MB-WFS3018Q电饭煲怎么样,好吗
一个人的姿势正不正确最关键的是什么
大一已经准备结束了,我发现已经荒废了,我感
闲遐是什么意思
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?