2017-02-15 1 views
0

에 교차 위치 찾기, 사용자는 두 곳의 이름과이 반경에 들어갔다.나는이 구조를 먼저</p> <pre><code>(location_name, address, latitude, longitude) </code></pre> <p>와 테이블이 MySQL을

두 번째로, 데이터베이스는 입력 된 위치에 대한 위도와 경도를 찾습니다.
(이하, 그것은 'entered_lat'및 'entered_long.'라고 함)

셋째, 데이터베이스 발견 및 사용자가 입력 한 두 반경의 교차점에 위치하는 위치를 반환한다.

사용자가 하나의 위치와 반지름 만 입력하면 다음 SQL 문을 사용했습니다.

SELECT location_name, latitude, longitude, 
(6371*acos(cos(radians('entered_lat'))*cos(radians(latitude))*cos(radians(longitude)- 
radians('entered_long'))+sin(radians('entered_lat'))*sin(radians(latitude)))) 
AS distance FROM location_table HAVING distance < 'entered_radius'; 

따라서 다음 두 SQL 문을 사용하여 두 반경의 교차점을 찾으려고했습니다.

SELECT location_name, latitude, longitude, 
(6371*acos(cos(radians('entered_lat1'))*cos(radians(latitude))*cos(radians(longitude)- 
radians('entered_long1'))+sin(radians('entered_lat1'))*sin(radians(latitude)))) 
AS distance FROM location_table HAVING distance < 'entered_radius1' 
AND 
(6371*acos(cos(radians('entered_lat2'))*cos(radians(latitude))*cos(radians(longitude)- 
radians('entered_long2'))+sin(radians('entered_lat2'))*sin(radians(latitude)))) 
AS distance FROM location_table HAVING distance < 'entered_radius2'; 

그러나 SQL 문에 구문 오류가 있습니다.

데이터베이스가 사용자가 입력 한 두 반경의 교차 지점에있는 위치를 반환하려면 어떻게해야합니까?

+0

오류 메시지에'... near '...' '메시지가 표시됩니다. –

답변

2

SQL 문에서 l_name을 location_name으로 바꾸십시오.

+0

그건 오타입니다. 죄송 해요. – Kown

관련 문제