location_data表:SQL SELECT語句的多個表如果值存在
id (pk)
lng
lat
voting_data表:
id (pk)
location_id (= location_data.id)
vote
這是當前縮短查詢我要找回我的位置數據,被編碼成JSON。
SELECT
`id`, `lat`, `lng`,
(6371 * acos(cos(radians('%s')) * cos(radians(lat)) *
cos(radians(lng) - radians('%s')) + sin(radians('%s')) *
sin(radians(lat)))) AS distance
FROM
location_data
HAVING
distance < 50
有些地方有額外的「投票數據」,我想編碼以及成JSON(與相應的位置沿配對),但只有當它們存在(VoteData.LocationID = LocationData.ID)。
僞代碼:讓所有LocationData
隨着距離的條件 - >如果某個位置有匹配的投票數據(VoteData.LocationID = LocationData.ID),添加到列表 - >編碼成JSON
不知道該怎麼辦這雖然...提前感謝。
什麼是匹配的投票數據和爲什麼會甚至會影響您想查詢? –
匹配意味着VoteData.LocationID = LocationData.ID。我認爲在一個查詢中這樣做會更容易。 – Vivida
您正在使用哪些DBMS? –