Есть таблица order и связанная с ней task. Мне нужно получить одну любую запись order с условием что в связанной таблице task нет записи с определенным ID(например: 5) в поле task.executor_id.У нас есть 2 заказа: "Собрать яблока", "Собрать груши" и исполнитель Петя. Петя уже взял заказ "Собрать яблока", и просит ещё один. Давать Пете повторно заказ "Собрать яблоки" не нужно - он ведь уже его взял, значит нужно дать заказ "Собрать груши".
Структура и связи
Я написал следующий запрос:
Код: Выделить всё
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 нет записи с определенным значением(например: 5) в поле task.executor_id?