У меня есть следующая таблица:
История маршрутов
+----+-----------------+-----------------+---------------+-----------------+--------------+
| id |departure | arrival |terminal_ori_id| terminal_dest_id|next_route_id |
+----+-----------------+-----------------+---------------+-----------------+--------------+
| 8 |2020-05-01 12:00 |2020-05-01 17:00 |5 | 1 | [null] |
| 9 |2020-05-01 08:00 |2020-05-01 10:00 |4 | 5 | 8 |
| 10 |2020-05-01 03:00 |2020-05-01 07:00 |3 | 4 | 9 |
+----+---------------------+-----------------+---------------+-----------------+--------------+
Я хочу напечатать время отправления и прибытия в определенном формате, название терминалы и количество весов полета. Например, рейс № 10 имеет масштаб до рейса № 9, а рейс № 9 имеет масштаб до рейса № 8. Таким образом, полет № 10 имеет 2 шкалы, а полет № 9 имеет 1 шкалу. Есть ли способ сделать это?
Вот что у меня есть в запросе:
SELECT h.id,
to_char(h.departure, 'Mon DD YYYY HH:12:MI AM') departure,
to_char(h.arrival, 'Mon DD YYYY HH:12:MI AM') arrival,
t.name as terminal_origin,
td.name as terminal_destiny,
FROM history_of_routes h
JOIN terminals t ON t.id = h.terminal_ori_id
JOIN terminals td ON td.id = h.terminal_dest_id;
Я просто скучаю по части весов, я понятия не имею, как это сделать.