SQL-Lat/Lng距离查询-如果距离为0,则不返回任何内容

SQL-Lat/Lng距离查询-如果距离为0,则不返回任何内容,sql,mysql,database,geocoding,Sql,Mysql,Database,Geocoding,如果我输入的$latitude$longitude值恰好与数据库中存储的值匹配,则不会返回任何内容(例如搜索您自己)…我假设距离为0 我正在使用此查询: SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`lat`*pi()/180)) +cos((".$latitude."*pi()/180)) * cos((`lat`*pi()/180)) * cos(((".$longitude."- `lng`)*pi()/180))))*18

如果我输入的
$latitude
$longitude
值恰好与数据库中存储的值匹配,则不会返回任何内容(例如搜索您自己)…我假设距离为0

我正在使用此查询:

SELECT *,
(((acos(sin((".$latitude."*pi()/180)) * sin((`lat`*pi()/180))
+cos((".$latitude."*pi()/180)) * cos((`lat`*pi()/180))
* cos(((".$longitude."- `lng`)*pi()/180))))*180/pi())*60*1.1515)
AS distance
FROM ...

LEFT JOIN ...
ON ...

WHERE 'cat_id' = '$cat_id'

HAVING distance <= $radius
ORDER BY distance ASC
选择*,
((acos(sin((“$latitude.”*pi()/180))*sin((`lat`*pi()/180))
+cos((“$latitude.”*pi()/180))*cos(`lat`*pi()/180))
*cos(((“$longitude.”-`lng`)*pi()/180))*180/pi())*60*1.1515)
作为距离
从…起
左连接。。。
在…上
其中'cat_id'='$cat_id'

HAVING distanceHAVING
子句正在终止输出。更改查询,使其条件成为
的一部分,其中

...
WHERE 'cat_id' = '$cat_id' AND distance <= $radius
。。。

其中“cat_id”=“$cat_id”和距离如何更改查询,以便在距离为0时仍返回整个查询或其修改版本的行?我假设有一个
在哪里
的条件?@Stephen-请看上面的更新,你应该发布整个事情。。。