ОБСУЖДЕНИЕ

выбрать из таблицы1 строки, указатели которых отсутствуют в таблице2

1 ответов 4 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Использую MySQL5
Можно ли одним запросом выбрать из таблицы1 строки, указатели которых отсутствуют в таблице2?
Как это сделать циклом я себе примерно представляю, но хотелось-бы решить эту задачку элегантно - в один запрос.

Мое решение как сделать такую выборку циклом:
1. Выбрать все записи из таблицы1 и записать их в массив1
2. Обработать массив1 циклом, выполняя запрос поиска указателя из таблицы1 в таблице2. Если указатель в таблице2 не найден - записываем строку в массив2.
3. В результате получим массив2 содержащий строки из таблицы1, указатели которых отсутствуют в таблице2.

/Moerated By Morpheus/ Слегка подправил
 
SELECT ... WHERE table1_id NOT IN (SELECT table2_p1 FROM table2)
или
SELECT ... FROM table1
EXCEPT
SELECT ... FROM table1 JOIN table2
 
Статус
Закрыто для дальнейших ответов.

Ещё по теме