Выберите все строки в таблице, которых нет в текущем результате запроса

0

У меня есть этот запрос:

SELECT * FROM 
dispensaries_list_new d JOIN cities c ON d.city = c.city_name
AND d.state = c.state_code

Я хочу взять все строки, исключая результат этого запроса. Я попытался поставить не равным. Но возвращает данные об ошибках.

Теги:
result

1 ответ

0

Если вы хотите получить диспансеры, у которых нет соответствующего города, вы можете использовать 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;
  • 0
    Эй, братан ... я думаю, вы неправильно поняли мой вопрос ... видите, у меня в таблице 5128 строк. я получил 3033 как мой результат. я хочу, чтобы остальные 2095 строк были моим результатом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню