SQL запрос к двум таблицам (одной)

102
.
Есть вопрос по запросу..

Есть одна таблица с полями:
pare
day
aud (может быть куча дублей)

Есть запрос:
SELECT auditories.*
FROM (SELECT *
      FROM TRANS_min
      GROUP BY aud) auditories
  RIGHT JOIN (SELECT *
              FROM TRANS_min
              WHERE pare = 1 AND day = 6
              GROUP BY aud) paramAuditories
    ON paramAuditories.aud = auditories.aud
WHERE paramAuditories.aud IS NOT NULL
GROUP BY auditories.aud


ВЫБОРКИ
два раза делаем запрос к таблице и делаем выборку
первый раз без условия достаем список всех уникальных записей по aud
второй раз делаем такую же выборку и накладываем условие выборки по дню и номеру пары - получаем список уникальных записей по aud

ЗАДАЧА: достать записи из первой таблицы которых нету во второй таблице

В таблице около 2 млн записей :-)
.
Я не все конечно понял, но если тебе надо поймать в tbl не существующие звписи, то NOT IN(tbl WHERE ... )
.
О, такой запрос работает правильно :-)
SELECT COUNT(*)
FROM (SELECT *
      FROM TRANS_min
      GROUP BY aud) auditories
WHERE auditories.aud NOT IN (SELECT aud
                             FROM TRANS_min
                             WHERE pare = 1
                             GROUP BY aud)


Все проще, чем казалось )
Всего: 3
Фильтр по автору
Скачать тему