Выяснить по каким дням недели и куда летает самолет Аэробус А319-100 из города Абакан

Диаграмма схемы данных

Выходные данные: столбец city_arrival и столбец days_of_week. Известно, что запрос должен вернуть две строки.

select distinct
​ ​ ​ c.name ->> lang() as city_arrival,
​ ​ ​ to_char (scheduled_departure, 'ID':: text) :: integer days_of_week
from flights f
join aircrafts_data ac on f.aircraft_code = ac.aircraft_code
join airports_data air on f.departure_airport = air.airport_code
join cities c on air.city_id = c.city_id ​
join airports_data ar ​ on ar.airport_code = f.arrival_airport
where ac.model ->> lang() = 'Аэробус A319-100' and name ->> lang() ='Абакан'​
order by c.name ->> lang()

Никак не соображу, как вывести в столбце city_arrival город прибытия. Запрос возвращает Абакан по всем дням недели.


Ответы (1 шт):

Автор решения: ViVl
select distinct
​ ​ ​ ci.name ->> lang() as city_arrival,
​ ​ ​ to_char (scheduled_departure, 'ID':: text) :: integer days_of_week
from flights f
join aircrafts_data ac on f.aircraft_code = ac.aircraft_code
join airports_data air on f.departure_airport = air.airport_code
join cities c on air.city_id = c.city_id ​
join cities ci on ar.city_id = ci.city_id
join airports_data ar ​ on ar.airport_code = f.arrival_airport
where ac.model ->> lang() = 'Аэробус A319-100' and name ->> lang() ='Абакан'​
order by c.name ->> lang()
→ Ссылка