我有一张这样的表
ID | map | status |
===================================
1 | 1 | searching |
2 | 1 | searching |
3 | 2 | searching |
4 | 2 | searching |
5 | 1 | searching |
6 | 3 | searching |
我想通过这个表找到状态正在搜索的对(只有2个)并且它们具有相同的地图。然后更新它们的状态并将两行中的一些信息插入到另一个表中。
编辑:地图中的值未知。所以我需要先让它们“迭代”才能找到对。
答案 0 :(得分:0)
这会将每个ID与下一个匹配的ID配对;如果超过2,你会得到一些重叠。
Select * from
TableName as t1
inner join
TableName as t2
on
t1.status= 'searching'
and t2.status = 'searching'
and t1.map=t2.map
and t1.id<t2.id