create table tmp (a1 char(1),
a2 date,
constraint PK_tmp
primary key (a1,a2));
insert into tmp values ('A',to_date('20020901','yyyymmdd'));
insert into tmp values ('A',to_date('20021003','yyyymmdd'));
insert into tmp values ('A',to_date('20021106','yyyymmdd'));
insert into tmp values ('A',to_date('20021203','yyyymmdd'));
insert into tmp values ('A',to_date('20030109','yyyymmdd'));
insert into tmp values ('A',to_date('20030202','yyyymmdd'));
insert into tmp values ('A',to_date('20030303','yyyymmdd'));
insert into tmp values ('A',to_date('20030402','yyyymmdd'));
insert into tmp values ('A',to_date('20030509','yyyymmdd'));
insert into tmp values ('A',to_date('20030604','yyyymmdd'));
insert into tmp values ('A',to_date('20030705','yyyymmdd'));
insert into tmp values ('A',to_date('20030806','yyyymmdd'));
insert into tmp values ('B',to_date('20020908','yyyymmdd'));
insert into tmp values ('B',to_date('20021001','yyyymmdd'));
insert into tmp values ('B',to_date('20030507','yyyymmdd'));
insert into tmp values ('B',to_date('20020602','yyyymmdd'));
insert into tmp values ('B',to_date('20020705','yyyymmdd'));
insert into tmp values ('B',to_date('20020803','yyyymmdd'));
commit;
a1是姓名,每月要在tmp表中登记一次,a2是登记时间,但有些人可能因某原因未做登记,
请教,怎样通过一个SQL查出有哪些人在指定时间段连续N月未在表中登记
a2 date,
constraint PK_tmp
primary key (a1,a2));
insert into tmp values ('A',to_date('20020901','yyyymmdd'));
insert into tmp values ('A',to_date('20021003','yyyymmdd'));
insert into tmp values ('A',to_date('20021106','yyyymmdd'));
insert into tmp values ('A',to_date('20021203','yyyymmdd'));
insert into tmp values ('A',to_date('20030109','yyyymmdd'));
insert into tmp values ('A',to_date('20030202','yyyymmdd'));
insert into tmp values ('A',to_date('20030303','yyyymmdd'));
insert into tmp values ('A',to_date('20030402','yyyymmdd'));
insert into tmp values ('A',to_date('20030509','yyyymmdd'));
insert into tmp values ('A',to_date('20030604','yyyymmdd'));
insert into tmp values ('A',to_date('20030705','yyyymmdd'));
insert into tmp values ('A',to_date('20030806','yyyymmdd'));
insert into tmp values ('B',to_date('20020908','yyyymmdd'));
insert into tmp values ('B',to_date('20021001','yyyymmdd'));
insert into tmp values ('B',to_date('20030507','yyyymmdd'));
insert into tmp values ('B',to_date('20020602','yyyymmdd'));
insert into tmp values ('B',to_date('20020705','yyyymmdd'));
insert into tmp values ('B',to_date('20020803','yyyymmdd'));
commit;
a1是姓名,每月要在tmp表中登记一次,a2是登记时间,但有些人可能因某原因未做登记,
请教,怎样通过一个SQL查出有哪些人在指定时间段连续N月未在表中登记
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/44413/viewspace-745765/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/44413/viewspace-745765/