存在有2个表
1,教师任课表如:
年级 班级 科目 教师
初一 1班  语文 张三
初一 1班  数学 李四
初一 2班  数学 王五
...
2,排课表如:
年级 班级 星期  节次 科目
初一 1班  星期一 1   语文
初一 1班  星期一 2   数学
初一 2班  星期一 1   语文
任务:
列出排课表中有冲突情况记录,即在排课表中有2条或者以上的记录的任课教师在同一时间是相同的.
谢谢!

解决方案 »

  1.   

    --查询有重复的老师及上课时间
    select b.星期,b.节次,a.教师
    from 教师任课表 a,排课表 b
    where a.年级 = b.年级 and a.班级= b.班级 and a.科目= b.科目
    group by b.星期,b.节次,a.教师
    having count(1) > 1
      

  2.   

    --上面的修改一下
    select distinct b.星期,b.节次,a.教师
    from 教师任课表 a,排课表 b
    where a.年级 = b.年级 and a.班级= b.班级 and a.科目= b.科目
    group by b.星期,b.节次,a.教师
    having count(1) > 1--查询详细信息
    select c.* from
    (
    select b.年级,b.班级,b.星期,b.节次,b.科目,a.教师
    from 教师任课表 a,排课表 b
    where a.年级 = b.年级 and a.班级= b.班级 and a.科目= b.科目
    )c,
    (
    select distinct b.星期,b.节次,a.教师
    from 教师任课表 a,排课表 b
    where a.年级 = b.年级 and a.班级= b.班级 and a.科目= b.科目
    group by b.星期,b.节次,a.教师
    having count(1) > 1
    )d
    where c.星期= d.星期 and c.节次 = d.节次 and c.教师 = d.教师
      

  3.   

    select a.教师,b.星期,b.节次
    from A inner join B on a.科目=b.科目 
    group by a.教师,b.星期,b.节次
    having count(b.节次)>1