我有一个包含3列'纬度'经纬度'状态'的SQL表。我想创建一个遍历表格中所有行的脚本,从纬度/经度的第一行开始,删除小于0.3差异的所有其他纬度/经度行,然后更新“#”状态&#39 ;第一行的列已完成'。然后它将对纬度/经度的第二行,然后是第三行,依此类推,直到所有行都已完成'处于'状态'柱。这是应该用于删除行的查询:
delete from create_concert_xml_job
where abs({latitude1} - latitude) <= 0.3 AND abs({longitude1} - longitude) <= 0.3;
{latitude1}
和{longitude}
来自与其他行进行比较的行。
有人可以帮我解决这个问题吗?
更新:例如说这些是前4行的纬度/经度:
3.5 / 7.5
4.5 / 6.5
3.6 / 7.6
4.6 / 6.6
所以当脚本运行第一行时,它应该删除从该查询返回的所有行:
从create_concert_xml_job中删除其中abs(3.5 - 纬度)&lt; = 0.3 AND abs(7.5 - 经度)&lt; = 0.3;
这将导致第3行被删除。然后它将运行第2行并使用查询:
从create_concert_xml_job中删除其中abs(4.5 - 纬度)&lt; = 0.3 AND abs(6.5 - 经度)&lt; = 0.3;
这将导致第4行被删除。
答案 0 :(得分:0)
我找到了其他方法。你可以使用
更新
create_concert_xml_job
设置latitude
=(纬度1纬度),longitude
=(经度1 - 经度),status
='已完成';
稍后您将拥有一个包含数据的表,您可以在其中将查询触发到DELETE,其中纬度&lt; 0.3
DELETE FROM
create_concert_xml_job
WHERElatitude
&lt; ='0.3'和longitude
&lt; ='0.3';