Есть таблица `order` и связанная с ней `task`.
Мне нужно получить один любой заказ, который не выполняется определенным исполнителем(допустим, с ID: 5)
Я написал следующий запрос:
SELECT `order`.* FROM `order`
LEFT JOIN `task` ON `order`.`id` = `task`.`order_id`
WHERE (`order`.`status`=10) AND
(`order`.`type`='10') AND
(`task`.`executor_id` != 5)
LIMIT 1
Он не сработал, похоже допустим ошибку:
а) Если записей в "task" нет вовсе: никакой записи не находится.
б) Если запись в "task" есть: находится запись, которая уже давалась текущему исполнителю(executor_id).
Вопрос: Как получить одну любую запись из таблицы, с условием что в связанной таблице не будет записи с определенным значением? Может подзапрос использовать?
Вопрос в рамках данной задачи: (для простоты понимания) Как получить запись из таблицы `order`, у которой нет связанной записи в таблице `task` с определенным `task`.`executor_id`?
Пример, если запутал в терминах
У нас есть 2 заказа: "Собрать яблока", "Собрать груши" и исполнитель Петя.
Петя уже взял заказ "Собрать яблока", и просит ещё один. Давать Пете повторно заказ "Собрать яблоки" не нужно - он ведь уже его взял, значит нужно дать заказ "Собрать груши".