'위도', '경도', '상태'의 3 열이있는 SQL 테이블이 있습니다. 위도/경도의 첫 번째 행부터 시작하여 0.3의 차이가있는 다른 위도/경도 행을 모두 삭제하고 첫 번째 행의 '상태'열을 업데이트하는 표의 모든 행을 통과하는 스크립트를 만들고 싶습니다. 행이 'completed'로 표시됩니다. 그런 다음 '상태'열에서 모든 행이 '완료'될 때까지 위도/경도의 두 번째 행, 세 번째 행 등등에 대해 동일한 작업을 수행합니다.특정 행을 삭제할 SQL 스크립트
delete from create_concert_xml_job
where abs({latitude1} - latitude) <= 0.3 AND abs({longitude1} - longitude) <= 0.3;
{latitude1}
및 {longitude}
다른 행이 비교되고 있다는 것을 행에서있다 :이 행을 삭제하는 데 사용해야하는 쿼리입니다.
아무도 도와 줄 수 있습니까?
UPDATE :
3.5/7.5
4.5/6.5
3.6/7.6
4.6/6.6
예를 들어 이들의 위도/경도 제 4 개 행을 말하는스크립트가 첫 번째 행을 실행하면이 쿼리에서 반환 된 모든 행을 삭제해야합니다.
create_concert_xml_job에서 삭제 여기서 abs (3.5 - 위도) < = 0.3 AND abs (7.5 - 경도) < = 0.3;
그러면 행 3이 삭제됩니다. 그런 다음 행 2를 실행하고 쿼리를 사용합니다.
where create_concert_xml_job에서 삭제 abs (4.5 - 위도) < = 0.3 AND abs (6.5 - 경도) < = 0.3;
그러면 행 4가 삭제됩니다.
'위도 1'이란 무엇입니까? –
'{latitude1}'에 중괄호를 사용한다면 왜'latitude'를 쓰지 않을까요? –
왜 행을 삭제 한 후 상태를 설정 하시겠습니까 ?? –