MySQL: как выбрать строку из 1-й таблицы, если во 2-й таблице нет подходящей строки - PullRequest
0 голосов
/ 30 апреля 2018

Таблица 1 (номер первичного ключа):

  • id-1, number-123, name-asd
  • id-2, number-124, name-asd

Таблица 2 (номер может быть дублирован, id pk):

  • id-1, number-123, name-asd
  • id-2, number-123, name-das
  • id-3, номер-124, имя-ррр
  • id-4, номер-124, имя-asx

Требуемый вывод:

124, asd

Мне нужно сравнить строки 1-й таблицы со строками 2-й таблицы.

Если строка 1 не равна каждой строке во второй, где a.number = b.number, тогда мы должны выполнить select * from table1.

Если мы находим совпадающую строку (между таблицей 1 и таблицей 2), то нам не следует выполнять запрос выбора, найденный выше.

UPDATE: Как я могу сравнить 3 таблицы, как это?

1 Ответ

0 голосов
/ 30 апреля 2018

Простой левый выбор, соединяющий две таблицы, и фильтрация строк, в которых нет данных для второй таблицы, должна дать желаемые результаты.

SELECT *
FROM table1 a
LEFT JOIN table2 b
    ON a.number = b.number AND a.name = b.name
WHERE b.id IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...