У меня есть этот запрос:
SELECT * FROM
dispensaries_list_new d JOIN cities c ON d.city = c.city_name
AND d.state = c.state_code
Я хочу взять все строки, исключая результат этого запроса. Я попытался поставить не равным. Но возвращает данные об ошибках.
Если вы хотите получить диспансеры, у которых нет соответствующего города, вы можете использовать left join
и where
:
SELECT d.*
FROM dispensaries_list_new d LEFT JOIN
cities c
ON d.city = c.city_name AND d.state = c.state_code
WHERE c.city_name IS NULL;
На самом деле, если вы хотите городов без диспансера, вы можете использовать обратную логику - в основном, меняя порядок соединений:
SELECT c.*
FROM cities c LEFT JOIN
dispensaries_list_new d
ON d.city = c.city_name AND d.state = c.state_code
WHERE d.city IS NULL;