2015-08-18 42 views
0

我有一條SQL語句用於查找表中項目的距離。 mySQL糟透了,我在下面的聲明中找不到我的錯誤。我想我只是需要第二雙眼睛在這一點上:MySql查找輸入距離給定座標的錯誤

SELECT idL 
    , idS 
    , N 
    , lat 
    , lng 
    , t 
    , bn 
    , bb 
    , bi 
    , dt (3959 * acos(cos(radians('33.11')) * cos(radians(lat)) * cos(radians(lng) - radians('-117.28')) + sin(radians('33.11')) * sin(radians(lat)))) AS distance 
    FROM table1 
    , table2 
WHERE idL = idS 
HAVING distance < '10' 
ORDER 
    BY distance asc 

我已經試過搞亂與周圍的報價取出等中添加它們,我不能讓這個查詢在所有執行。

+0

所以給我們介紹一下DT功能 – Strawberry

+0

需要鍵入的緯度和經度座標,並着眼於在數據庫中,只返回所有條目在十英里之內的那些。我之前成功地使用過它,但這是我第一次與它一起加入兩張桌子。 – Mike

+0

假設dt是數據庫中的真正函數,那麼我認爲這裏沒有語法錯誤。 – Strawberry

回答

1

你只是錯過了一個逗號您的DT後場:

SELECT idL 
    , idS 
    , N 
    , lat 
    , lng 
    , t 
    , bn 
    , bb 
    , bi 
    , dt 
    , (3959 * acos(cos(radians('33.11')) * cos(radians(lat)) * cos(radians(lng) - radians('-117.28')) + sin(radians('33.11')) * sin(radians(lat)))) AS distance 
    FROM table1 
    , table2 
WHERE idL = idS 
HAVING distance < '10' 
ORDER 
    BY distance asc 
+0

,知道它必須是簡單的東西。 – Mike