求教两个SQL面试题! - MS-SQL Server / 应用实例
因本人无机器,测试故希望能+上测试图!
题目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
没人接分呀!!!!
(1) select c.name, count(distinct c.roomid), sum(contain) from tc a inner join tcr b on a.cid=b.cid inner join tr c on b.roomid=c.roomid group by a.cname
(2) SQL code:
select
a.studentid, a.cid. a.cname, b.cid, b.cname
from
(
select
a.studentid, c.cid, c.cname, b.begintime, b.endtime
from tse a inner join te b on
a.examid=b.eid
inner join tc c on
b.cid=c.cid
) a inner join
(
select
a.studentid, c.cid, c.cname, b.begintime, b.endtime
from tse a inner join te b on
a.examid=b.eid
inner join tc c on
相关问答:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jas ......
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间
Id value state dattime
101 32.3 0 ......
求个vb中的sql语句的写法,次sql语句的用法是分页程序
我写的如下:其中A是用来接收每页显示的记录的条数,B是用来接收显示的当前的页面.
sqltext="select top A * from log where id not in(select top ( ......
查询学生平均成绩及其名次
SELECT 1+(SELECT COUNT( distinct 平均成绩)
from (SELECT S#,AVG(score) AS 平均成绩
from SC&n ......