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

Тема в разделе "SQL", создана пользователем Holger Dee Assuran, 30 янв 2008.

Статус темы:
Закрыта.
  1. Holger Dee Assuran

    Holger Dee Assuran Гость

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

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

    /Moerated By Morpheus/ Слегка подправил
     
  2. Pasha

    Pasha Гость

    SELECT ... WHERE table1_id NOT IN (SELECT table2_p1 FROM table2)
    или
    SELECT ... FROM table1
    EXCEPT
    SELECT ... FROM table1 JOIN table2
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей