高分求解SQL问题!(急可+分)

题目1:显示各门课程的考场数目和可容纳的考生各数据表结构如下:表1:课程表TCcid课程idcname课程名Ctype考试方式表2:考场表TRRoomed考场idaddr... 题目1:显示各门课程的考场数目和可容纳的考生
各数据表结构如下:
表1:课程表 TC
cid 课程id
cname 课程名
Ctype 考试方式
表2:考场表 TR
Roomed 考场id
address 考场地址
Contain 容纳人数
表3:考场课程对应表 TCR
cid 课程id
roomId 考场id

题目2:显示考试安排有冲突的考生及考试课程和时间
所谓有冲突,就是指一个考生同一时间(或考试时间有交集)安排了两门及两门以上的考试
表1:课程表 TC
cid 课程id
cname 课程名
Ctype 考试方式
表2:考试表TE
eId 考试id
cid 课程id
beginTime 开始时间
endTime 结束时间
表3:考试安排表TSE
studentId 学生id
examId 考试id
最好能测试上图,一定会+分的!~
展开
 我来答
545624
2010-05-11 · TA获得超过374个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:144万
展开全部
1.
select cname as 课程名, count(*) as 考场数目, sum(contain) as 容纳考生数
from tc join tcr on tc.cid = tcr.cid join tr on tr.roomid = tcr.roomid
group by cname
shutao917
2010-05-11 · TA获得超过1213个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:3372万
展开全部
题目1:显示各门课程的考场数目和可容纳的考生
select TCR.cid,max(TC.cname),count(TCR.roomID),sum(TR.contain) from TC,TR,TCR
where TC.cid=TCR.cid and TR.RoomID=TCR.RoomID
Group by TCR.cid
题目2:显示考试安排有冲突的考生及考试课程和时间
select * from
(select studentID,eid,Cname,BeginTime,EndTime From TE,TSE,TC
where TE.eID=TSE.examID and TC.cid=TE.cid) a,
(select studentID,eid,Cname,BeginTime,EndTime From TE,TSE,TC
where TE.eID=TSE.examID and TC.cid=TE.cid) b
where a.studentID=b.studentID and a.eid<>b.eid
and (a.BeginTime between b.BeginTime and b.endTime
or a.EndTime between b.BeginTime and b.endTime)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式