1
我有一個複雜的查詢返回用戶列表及其詳細信息,並希望根據特定用戶的緯度和經度按距離排序它們。到目前爲止,我設法一方面提取他們的信息,另一方面使用正則表達式對用戶進行排序,但在嘗試了好幾個小時之後,我仍然沒有設法將兩個查詢混合成一個查詢。如何加入2個查詢按位置排序用戶sql
誰會知道該怎麼做?
這裏是我的2個查詢:
/* list of users with their information */
SELECT x.*
FROM ow_base_user x
JOIN ow_base_user y
ON y.id = x.id
LEFT
JOIN ow_base_user_suspend z
ON z.userId = y.id
WHERE z.id IS NULL
AND y.emailVerify = 1
ORDER
BY x.joinStamp DESC LIMIT 100
/* sort users by distance according to user 1 lat and lng */
SELECT l.id
, l.lat
, l.lng
, haversine(l.lat,l.lng,u.lat,u.lng)*111.045 distance
FROM ow_googlelocation_data u
, ow_googlelocation_data l
WHERE l.entityType = 'user'
AND u.id = 1
ORDER
BY distance
編輯:
這是第一個查詢的輸出:
而第二個查詢:
我希望將第二個查詢的第一個查詢+距離字段作爲輸出,和所有按距離排序的東西。
編輯2:這裏是虛擬內容表和原始查詢的dump,如果你想嘗試一下
你能提供來自兩個查詢(前5行或其他)的樣本輸出以及你期望輸出的樣子嗎? –
當然,我編輯了我的問題。 –
第二個屏幕截圖不起作用! –