Есть две таблицы, нужно выводить данные из 1 таблицы, но если id из первой таблицы присутствует во второй таблице то эту запись нужно пропустить. Есть база данных заданий, пользователь выполняет это задание, и оно уже не будет ему показываться, но остальные должны его видеть. INSERT INTO `like` (`likeid`, `elementid`, `autorid`, `type`) VALUES (3, 3190, '574357', 'wall'), (4, 3190, '574357', 'wall'), (5, 325483702, '574357', 'photo'), (6, 168202680, '-67922047', 'video'), (7, 168202680, '-67922047', 'video'), (8, 168202680, '-67922047', 'video'); INSERT INTO `like_ok` (`like_id`, `user_id`) VALUES (0, 0), (3, 574357), (5, 574357); Запрос должен делать выводить данные таблицы like , но если like.likeid нету в таблице like_ok столбце like_id
а в чем затык? а если переформулировать условие? нужно выбрать все, кроме тех, что есть во второй или нужно выбрать тех, кого нет во второй
Нужно выбрать из первой таблице те задания которых нет во второй таблице, likeid и like_id это номера заданий, если задание попало в таблицу like_ok то его уже показывать ненужно . Может есть более правильные варианты , но я придумал только такой.
Я незнаю как делать такие сложные запросы , раньше делал только простые, максимум это рандомная выборка из бд каторая успешно накрыла бд нагрузкой. Если бы знал не спрашивал, а по поводу как делается я придумал только теоритическую часть, это записывать готовые задания в таблицу и вписывать туда ид задания и ид юзера, дальше делать выборку по двум таблицам, но запрос на практике не представляю как сделать. Добавлено спустя 51 минуту 26 секунд: SELECT * FROM like LEFT OUTER JOIN like_ok ON like.likeid = like_ok.like_id WHERE like_ok.user_id IS null Так прокатит?
Получилось , я гений, повторения урезаны. likeid elementid autorid type like_id user_id 4 3190 574357 wall NULL NULL 5 ----- 6 ----- 7 ----- 8 ----- А ненужные поля like_id user_id с значением null нужно убирать как то или так должно быть.
Эксперимент дает понимание Ну ты можешь добавить в условие что выбирать если NOT NULL или указать, какие поля выбирать, если не все нужны