考虑表
Index Col_1 Col_2 Value_of_Interest
Record_1 1
Record_2 2
.
.
.
Record_N N
我想选择记录集
{Record_i}
,以使Col_1
中的Record_i+1
出现在{SELECT Col_2 FROM table WHERE Index<i}
中例如,考虑表
Index Col_1 Col_2 Value_of_Interest
Record_1 1 Ed Bill 1
Record_2 2 James Rob 0
Record_3 3 Tom Rob 1
Record_4 4 Bill Rob 0
查询将返回
Index Col_1 Col_2 Value_of_Interest
Record_3 3 Tom Rob 1
由于
Col_1
的Record_4
是Bill
,并且包含在先前记录的Col_2
中。是否可以编写执行此操作的SQL查询?
最佳答案
SELECT *
FROM MyTable AS T1
WHERE (SELECT Col_1
FROM MyTable AS T2
WHERE T2.Index = T1.Index + 1
) IN (SELECT Col_2
FROM MyTable AS T3
WHERE T3.Index < T1.Index)
关于sql - SQL扫描数据库中的先前记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18642307/