Есть запрос следующего вида
SELECT
"selections"."id",
"selections"."name",
"selections"."wishes",
"selections"."created_at",
"selections"."updated_at",
"statuses"."id",
"statuses"."name",
COUNT("tours"."id")
FROM
"selections"
INNER JOIN "statuses" ON "selections"."status_id" = "statuses"."id"
LEFT JOIN "tours" ON "tours"."selection_id" = "selections"."id"
GROUP BY
"selections"."id",
"statuses"."id"
В результате его работы и маппинга в ORM получается следующая структур
[
{
"id": 1,
"name": "Test 1",
"wishes": "Test wish",
"created_at": "2024-07-03",
"updated_at": "2024-07-03",
"status": {
"id": 1,
"name": "ok"
},
"tours": 1
},
{
"id": 2,
"name": "Test 2",
"wishes": "Test wish",
"created_at": "2025-01-01",
"updated_at": "2025-01-01",
"status": {
"id": 1,
"name": "ok"
},
"tours": 0
}
]
Еще есть таблицы clients и clients_selections для отношения много-много. Как правильно сделать джойн таблицы clients к selections при таком отношении в этом запросе? Или лучше это сделать отдельным запросом и уже средствами языка соотносить записи?