我有两个表,我正在使用内部联接进行联接。如果内部联接为空,则显示结果
第一张表是位置列表,第二张是每个位置的产品列表。
我的问题是当我运行内部联接,如果有一个位置没有任何产品的位置不会显示。
基本上,如果内部连接没有任何内容,它基本上不存在。
SELECT idL, n, lat,lng, latest, type,
(3959 * acos(cos(radians('33.111963')) * cos(radians(lat)) * cos(radians(lng) - radians('-117.281985')) + sin(radians('33.111963')) * sin(radians(lat)))) AS distance
FROM Table1
inner join(SELECT ids, max(dateTime) as latest FROM Table2 GROUP BY ids) as tableJ
on idL = ids
WHERE type = "Grocery"
GROUP BY idL
HAVING distance < '15'
ORDER BY distance asc
SQL可能看起来有点疯狂,因为它的计算距离也太远了。
使用'LEFT JOIN'代替。 – lad2025
这是SQL Server还是MySql?你为什么要做一个“分组依据”?为什么有'Having'和'Where'子句? – Brad
这是在mySQL的伙伴 – Mike