34,587
社区成员
发帖
与我相关
我的任务
分享
--有如下表A数据,有个表B(日期)生成了2011-04-01 - 2011-04-30 三十条数据,怎么取出表A中对应每个员工日期不存在于表B中的记录
工号 姓名 部门 日期
100054 武江森 保安部 2011-04-01
100054 武江森 保安部 2011-04-02
100054 武江森 保安部 2011-04-19
100054 武江森 保安部 2011-04-20
100054 武江森 保安部 2011-04-21
100054 武江森 保安部 2011-04-22
100054 武江森 保安部 2011-04-23
100054 武江森 保安部 2011-04-24
100117 张小红 保安部 2011-04-18
100117 张小红 保安部 2011-04-19
100117 张小红 保安部 2011-04-20
100117 张小红 保安部 2011-04-21
100117 张小红 保安部 2011-04-22
100117 张小红 保安部 2011-04-23
100117 张小红 保安部 2011-04-24
100117 张小红 保安部 2011-04-25
100117 张小红 保安部 2011-04-26
100117 张小红 保安部 2011-04-27
100117 张小红 保安部 2011-04-28
100117 张小红 保安部 2011-04-29
--最后结果:
工号 姓名 部门 日期
100054 武江森 保安部 2011-04-03
100054 武江森 保安部 2011-04-04
...
100054 武江森 保安部 2011-04-18
100054 武江森 保安部 2011-04-25
100054 武江森 保安部 2011-04-26
...
100054 武江森 保安部 2011-04-30
--工号100117 也是同样处理
select
*
from
tb t
where
not exists(select 1 from tb where 工号=t.工号 and 日期=t.日期)
select * from 表A
except
select * from 表B
select * from 表A a
where not exists(select 1 from 表A where 工号=a.工号 and 日期=a.日期)
select * from 表A
except
select * from 表B