我遇到了 having 子句和 where 子句的问题,我遇到了以下错误:
#1054 - Unknown column 'accommodation' in 'where clause'
代码如下:
SELECT
b.bar_id, b.bar_name, b.bar_image, b.bar_lat, b.bar_lng,
b.bar_address, b.bar_phone, b.bar_email, b.bar_open_hours, `category`,
( 6371 * acos( cos( radians(-37.81829) ) * cos( radians( b.bar_lat ) ) * cos( radians( b.bar_lng ) - radians(144.9620) ) + sin( radians(-37.81829) ) * sin( radians( b.bar_lat ) ) ) ) AS distance
FROM
bars b
WHERE
`category` LIKE accommodation
GROUP BY
category
HAVING
distance < 500
ORDER BY
distance
我不明白为什么会出现此错误。有人有什么建议吗?
最佳答案
您是否有名为accommodation
的列?或者您应该进行字符串比较,在这种情况下应该是 'accommodation'
(用单引号引起来)?
你也可以做到
`category` = 'accommodation'
因为字符串中没有任何通配符 (%
)。
关于php - MySQL QUERY HAVING 子句不适用于 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137627/