Я думаю, это то, что вы ищете, если хотите показать все задачи, даже если у них нет действий.
sekect task.id, task.title, activity.id, activity.title
from task
left join activity
order by task.createdat, activity.createdat desc
edit: я приведу краткое объяснение, которое может помочь вам понять немного больше.
Этот оператор в основном говорит базе данных собирать всю информацию в определенных столбцах "id" и "title" в таблице задач и таблице действий - это предложение sekect task.id, task.title, activity.id, activity.title
.
Любой запрос всегда будет искать хотя бы одну таблицу, используя ключевое слово from
. В этом случае мы использовали from task
, который будет искать таблицу задач. Однако для этого примера вам потребовалось объединение двух таблиц, требующих использования ключевого слова join
. Использование join
позволяет искать несколько таблиц несколькими способами. Мы использовали left join
в этом случае; прокомментируйте, если хотите получить дополнительное объяснение по этому поводу.
Наконец, мы просто упорядочили данные по дате создания задачи, а затем по дате создания операции и указали нисходящий порядок (сначала самый старый, самый последний последний).
Обратите внимание, что, как правило, использование select *
не лучшая идея. Теперь это может удовлетворить ваши потребности, но если вы собираетесь создавать больше запросов, вам нужно указать столбцы, которые вы хотите отобразить, как в моем примере.