Мне нужно запросить и отсортировать записи на основе условия. У меня есть таблицы:Заказ MySQL на основании условия
TASKS (id, date_due, created_at, ...)
иTASK_DEPENDENCIES (task_id, dependency_task_id)
, многие-ко-многим таблицы, где TASK_ID зависимость и dependency_task_id являются FKS к таблице ЗАДАЧ.
Обычно я запрашивал задачи и заказывал их по date_due
. Но так как у нас есть зависимости задачи Я хотел бы заказать так:
- первых задачи, которые не имеют зависимостей заказанных date_due
- следующей задачи с зависимостями заказанных date_due
Решения есть сейчас заключается в том, что я просто создаю 2 отдельных запроса и передаю их в таблицу. Можно ли это сделать только с одним запросом и насколько эффективным (быстрым) он будет?
UPDATE:
Non-dependcy задача моего существующего SQL в
SELECT T.id, TD.dependency_task_id FROM tasks T
LEFT OUTER JOIN task_dependencies TD ON T.id = TD.task_id
WHERE assigned_user_id=1 AND TD.dependency_task_id IS null
ORDER BY T.date_due
Depencecy задача:
SELECT T.id, TD.dependency_task_id FROM tasks T
LEFT OUTER JOIN task_dependencies TD ON T.id = TD.task_id
WHERE assigned_user_id=1 AND TD.dependency_task_id IS NOT null
ORDER BY T.date_due
Вопросы просящих кода должны продемонстрировать минимальный понимание проблемы. Включите попытки решения, почему они не работают и ожидаемые результаты. – Kermit
Я заметил, что мое существующее решение работает, мне просто интересно, можно ли это сделать с помощью 1 запроса! –
Вам нужно добавить существующее решение на ваш вопрос. – Kermit