我创建了一个过滤器,用户可以在特定点的指定英里数内找到位置,
我的代码如下,我在“左连接”
附近不断收到SQL语法错误不确定错误是什么,如果有人可以帮助那将是王牌,或者只是指出我正确的方向!
SELECT b.*, host,
(6371 *
acos(
cos( radians( '51.514294' ) ) *
cos( radians( `latitude` ) ) *
cos(
radians( `longitude` ) - radians( '-0.042857' )
) +
sin(radians('51.514294')) *
sin(radians(`latitude`))
)
) `distance`
FROM brunches b HAVING
`distance` < $range
LEFT JOIN hosts ON hosts.id = b.hostid
答案 0 :(得分:1)
你有一个错误位置的having子句(having子句不能放在from和join之间)
SELECT b.*, host,
(6371 *
acos(
cos( radians( '51.514294' ) ) *
cos( radians( `latitude` ) ) *
cos(
radians( `longitude` ) - radians( '-0.042857' )
) +
sin(radians('51.514294')) *
sin(radians(`latitude`))
)
) `distance`
FROM brunches b
LEFT JOIN hosts ON hosts.id = b.hostid
HAVING `distance` < $range