现在有这样的一个问题
有这样的一个表hist 表里有三个字段 一个是id (就是人的id) 一个是effdat (登记开始的时间) 一个是expdat(登记结束时间) 一个人可能有多次登记 ,而且登记的时间可能是包含的关系。也可能是不连续的。现在就是判断都有那些人在一个特定的时间段内登记是连续的。比如说从‘2005-01-01’到‘2006-01-01’ 下面是一段查询的记录 select * from hist
1 2005-6-14 2005-8-31 -32169
2 2005-7-1 2005-8-31 -32169
3 2005-9-1 2005-12-31 -32169
4 2006-1-1 2006-3-31 -32169
5 2006-1-1 2006-8-31 -32169
6 2006-9-1 2006-9-30 -32169
7 2006-10-1 2006-12-31 -32169
8 2005-6-21 2005-6-30 -32203
9 2005-7-1 2005-12-31 -32203
10 2005-7-1 2006-3-31 -32203
11 2005-7-1 2006-6-30 -32203
12 2006-7-1 2006-12-31 -32203
13 2005-7-3 2005-12-31 -32318
14 2005-7-3 2006-2-28 -32318
15 2006-3-1 2006-3-31 -32318
16 2006-3-1 2006-12-31 -32318
17 2005-7-7 2005-12-31 -32396
18 2005-7-7 2006-3-31 -32396
19 2005-7-7 2006-6-30 -32396
20 2006-7-1 2006-11-15 -32396
21 2005-7-13 2005-12-31 -32501
22 2006-1-1 2006-3-31 -32501
23 2006-1-1 2006-12-31 -32501
大家看看这个查询的结果 我解释一下 第一个1 那是行号 后面的2005-6-14 是登记的开始时间,2005-8-31是登记的结束时间,意思就是他在2005-6-14 到 2005-8-31 是连续登记的。后面的-32169 是人的id。但是第二条记录的开始时间和登记的结束时间分别是 2005-7-1 2005-8-31 这个包含在第一个时间里面,说明他在2005-6-14 2005-8-31是连续的。
现在我就想求各位帮我写一个方法。无论是通过什么方法。可以是程序(限pb程序)能够求出这个表内在某个时间段内哪些人是连续登记的……
连续登记的意思就是 必须是从2005-1-1 到 2006-1-1之间是连续的 必须包含这一段时间
求求各位了……………………首先谢谢各位!!