--1 请用一句SQL语句筛选出2001年里没有缺勤过的所有人员。
select * from Employee a
where not exists(
select * from TimeBook
where 人员编号=a.人员编号)

解决方案 »

  1.   

    --1 请用一句SQL语句筛选出2001年里没有缺勤过的所有人员。
    select * from Employee a
    where not exists(
    select * from TimeBook
    where 人员编号=a.人员编号
    and year(缺勤日期)=2001)  --上面少写了一个年份限制
      

  2.   


    --2 请用一句SQL语句统计出每个缺勤人员每年总的缺勤天数
    select 人员编号,缺勤年份=year(缺勤日期),缺勤天数=sum(缺勤天数)
    from TimeBook
    group by 人员编号,year(缺勤日期)
      

  3.   

    --如果问题2要把人员信息也显示出来--2 请用一句SQL语句统计出每个缺勤人员每年总的缺勤天数select a.*,b.缺勤年份,b.缺勤天数
    from Employee a,(
    select 人员编号,缺勤年份=year(缺勤日期),缺勤天数=sum(缺勤天数)
    from TimeBook
    group by 人员编号,year(缺勤日期)
    )b where a.人员编号=b.人员编号