У меня есть две таблицы, с которыми я соединяюсь с внутренним соединением.Показать результаты, если Inner Join пуста
Первая таблица - это список местоположений, а второй - список продуктов в каждом месте.
Моя проблема в том, что я запускаю внутреннее соединение, если есть местоположение без каких-либо продуктов, местоположение которых не будет отображаться.
В принципе, если во внутреннем соединении ничего нет, его по существу не существует.
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 может выглядеть как сумасшедший, поскольку его расчетное расстояние от места тоже.
Используйте 'ЛЕВЫЙ JOIN' вместо. – lad2025
Является ли это SQL Server или MySql? Почему вы делаете «Группу»? Почему существует предложение 'Have' и' Where'? – Brad
Это на mySQL приятель – Mike