2013-07-04 41 views
-1

只是一個簡單的問題。sql,搜索半徑爲22的城鎮

我正在創建一個小地圖,我只需要22個字段以外的城鎮(來自城鎮表)。我對每個城鎮都有int x和y,我用它們來確定城鎮的位置。

首先我想到的是使用WHERE x < 56和x> 34 ...但我不知道劑量sql有這個選項,所以我想問如何才能得到只有22個領域的城鎮。

查詢:

'SELECT (id,x,y) 
FROM towns 
WHERE x >= \''.($x-22).'\' 
AND x <= \''.($x+22).'\' 
AND y >= \''.($y-22).'\' 
AND y <= \''.($y+22).'\'' 

錯誤是: 錯誤是警告:mysqli_fetch_array()預計參數1被mysqli_result,布爾所給出 -

+0

x和y是整數,x和y的每個組合表示1個字段。但是,他們的mah值是1000 – zoran404

回答

1

你絕對可以使用:

WHERE x < 56 AND x > 34 

還有BETWEEN

WHERE x BETWEEN 35 AND 55 

BETWEEN是包容性的,所以相當於> = AND < =

+0

,但這不是半徑。這是「在一個方形區域內」。 –

+0

OP詢問SQL是否支持'WHERE'標準。也許問題還不清楚。 –

+0

我雖然sql沒有很多基本選項,但顯然它現在有 – zoran404

1

(here_x-there_x)*(here_x-there_x) + (here_y-there_y)*(here_y-there_y) < 22*22

畢達哥拉斯來救援!

+0

我實際上並不是指半徑爲圓,而是平方。但無論如何感謝 – zoran404