首先 - 我讀了大約7頁類似主題的帖子,但無法找到我的挑戰權的洞察力SQL與多個where子句
我的SQL:
SELECT name, address, lat, lng, city, state, phone, zip, info
, (3959 * acos(cos(radians('37.4969')) * cos(radians(lat)) * cos(radians(lng) - radians('-122.2674')) + sin(radians('37.4969')) * sin(radians(lat)))) AS distance
FROM myhealthfinder_map
HAVING distance < '50' and location = '2'
ORDER BY distance LIMIT 0 , 10
我得到的錯誤消息:無效的查詢:'有條件'中的未知列'位置'
如果不是HAVING我只是讓它位置='2'那麼它工作正常[它發現列](但我需要的距離選擇)。
任何有關如何擊倒的建議?
您是否也應該選擇列位置 – AgnosticDev 2013-02-23 02:11:57
您有沒有'GROUP BY'的'HAVING'? – 2013-02-23 02:14:11
@ExplosionPills在你有計算列的時候,這在mysql中沒問題。在SQL Server中(也許別人?)這是一個不行。所以這就是爲什麼'HAVING'在'距離'這個欄上沒問題。 – 2013-02-23 02:15:19