День добрый! Ребят, помогите пожалуйста составить запрос для такой задачи: есть 2 таблицы, в одной есть id и в другой есть те же id, но не все. Нужно найти те id которых не хватает. Пытался делать так: Код (Text): SELECT t1.id FROM table1 t1 JOIN table2 t2 ON t1.id != t2.id WHERE t1.type = 'admin' Код (Text): SELECT id FROM table1 WHERE type = 'admin' EXCEPT SELECT id FROM table2 WHERE type = 'admin' Код (Text): SELECT id FROM table1 WHERE NOT EXISTS( SELECT id FROM table2 WHERE type = 'admin') И еще кучу вариантов которые не работают(((
SELECT t1.id FROM table1 t1 JOIN table2 t2 ON t1.id != t2.id WHERE t1.type = 'admin' t1.id != t2.id местами поменяй, ты же сравниваешь результат с таблицы1 на таблицу2, а не наоборот --- Добавлено --- + смысл запроса если результат будет с первой таблицы выводится, зачем тогда вторая?
SELECT t1.id FROM table1 t1 left JOIN table2 t2 ON t1.id = t2.id WHERE t1.type = 'admin' and t2.id is null --- Добавлено --- что изменится от перестановки мест?
Выдает 65 тыс результатов (декартово произведение), когда по факту должно выдать порядка 10-100. Я наверное забыл сделать одно уточнение: таблицы между собой не связаны, т.е. это две абсолютно разных таблицы, просто в них есть одинаковые значения. --- Добавлено --- Сделал так, вроде работает: Код (Text): SELECT id FROM table1 WHERE id NOT IN (SELECT id FROM table2 WHERE type = 'admin') AND type = 'admin'