本帖最后由 KEN6503 于 2013-3-19 07:06 编辑
要求:以ID分组, 当dt1 小于 最大的 dt2 (记录中的IND =1)时, 如果在同一组中有dt1=dt2的记录, 就找出这一条。如果没有dt1=dt2的记录, 找出最小的dt2 满足dt1<dt2和最大的dt2 满足dt1>dt2。
create table sdl.test (pk1 int, id int, dt1 int, dt2 int, ind int);
insert into test values(1,1,5, 3, 1);
insert into test values (2,1,5, 2, 0);
insert into test values (3,2,4, 6, 1);
insert into test values (4,2,4, 5, 0);
insert into test values (5,3,4, 7, 1);
insert into test values (6,3,4, 6, 0);
insert into test values (7,3,4, 3, 0);
insert into test values (8,3,4, 2, 0);
insert into test values (9,4,3, 7, 1);
insert into test values (10,4,3, 6, 0);
insert into test values (11,4,3, 3, 0);
insert into test values (12,4,3, 2, 0);
select * from test
pk1iddt1dt2ind
11531
21520
32461
42450
53471
63460
73430
83420
94371
104360
114330
124320
pk1iddt1dt2ind
42450
63460
73430
114330
谢谢各位高手
|