Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Прошу помощи для расчёта расстояния между аэропортами из учебной базы Avia / 3 сообщений из 3, страница 1 из 1
14.11.2021, 20:33
    #40111949
Julia Not
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи для расчёта расстояния между аэропортами из учебной базы Avia
Всем привет!

Работаю с демо базой Avia, хочу найти расстояние по каждому маршруту между аэропортами из таблицы Flights.

В таблице airports_data имею наименование аэропорта, код и координаты.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with rad as(
select radians(ad.coordinates[0]) as Lat1, radians(ad.coordinates[1]) as Lon1, radians(ad2.coordinates[0])as Lat2, radians(ad2.coordinates[1]) as Lon2, ad.airport_code as Otpr, ad2.airport_code as Pril 
from airports_data ad
inner join airports_data ad2 on ad.airport_code = ad2.airport_code)
select acos(sin(rad.Lat1) * sin(rad.Lat2) + cos(rad.Lat1) * cos(rad.Lat2) * cos(rad.Lon1 - rad.Lon2)), fv.departure_airport_name, fv.arrival_airport_name
from rad
inner join flights_v fv on fv.departure_airport = rad.Otpr
inner join flights_v fv2 on fv2.arrival_airport = rad.Pril
where fv.departure_airport_name != fv.arrival_airport_name 



Написала такой код, но получилась огромная таблица, где куча строк Пулково-Домодедово и arc 0. Понимаю, что где-то ошибка в логике.. Прошу помощи, я новичок.
...
Рейтинг: 0 / 0
17.11.2021, 01:50
    #40112437
bubuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи для расчёта расстояния между аэропортами из учебной базы Avia
Julia Not

Код: plsql
1.
2.
3.
4.
5.
with rad as(
select ... ad.airport_code as Otpr, ad2.airport_code as Pril 
from airports_data ad
inner join airports_data ad2 on ad.airport_code = ad2.airport_code
...





у Вас в запросе rad код аэропорта прилета всегда равен коду аэропорта отправления....
Наверное все-таки нужно таблицу flights_v соединять с (airports_data otpr) и (airports_data pril).

rad, flights_v fv2 - похоже лишние....
...
Рейтинг: 0 / 0
17.11.2021, 09:38
    #40112452
Guzya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помощи для расчёта расстояния между аэропортами из учебной базы Avia
Если правильно помню, для этой бд есть задание на поиск всех пар аэропортов м\у которыми есть прямые перелеты, при этом Москва - Питер и Питер - Москва считаются за одно и то же.
Вот с начала сделайте эту табличку, а уже потом считайте расстояние.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Прошу помощи для расчёта расстояния между аэропортами из учебной базы Avia / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]