考慮這個SQL查詢:顯示標記
SELECT * FROM
(
SELECT * FROM wp_postmeta
WHERE
(
meta_key = 'latitude' AND meta_value *1 BETWEEN 47.3641471102 AND 47.3731524898)
OR (meta_key = 'longitude' AND meta_value *1 BETWEEN 8.53253429117 AND 8.54583070883)
)
AS PostMeta, wp_posts
WHERE wp_posts.id = PostMeta.post_id order by post_id asc
它給了我符合特定值或特定值之間的經度之間要麼緯度的所有記錄。我想得到的是符合兩個值的記錄。 但將查詢中的'OR'更改爲'AND'將給我零結果。
我想我需要做某種子查詢,但不知道如何做到這一點。
有人嗎?
看看[這個問題](HTTP:///stackoverflow.com/questions/16249731/mysql-select-query-with-multiple-conditions)。此外,你沒有得到完全的「半徑內的標記」,你需要進一步使用[Haversine公式](http://en.wikipedia.org/wiki/Haversine_formula)或類似的過濾結果。 – DCoder 2013-05-11 11:31:31