Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запрос с агрегатной функцией / 4 сообщений из 4, страница 1 из 1
25.06.2014, 14:39:45
    #38679787
alex-tambovsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с агрегатной функцией
Добрового дня!

Суть есть таблица ships и таблица ports у них есть координаты, нужно получить id ближайшего порта, который находится на расстоянии меньше чем заданное или NULL если таких нет, смог только получить расстояние:
Код: plsql
1.
2.
3.
4.
SELECT MIN((((s.ship_coordinates).latitude - (p.port_coordinates).latitude) ^ 2 + 
((s.ship_coordinates).longitude - (p.port_coordinates).longitude) ^ 2) ^ 0.5) FROM ports p
CROSS JOIN ships s
WHERE s.ship_mmsi = 218098000;



А как отфильтровать по условию по колонке min не могу понять, пробовал сделать через GROUP BY и HAVING тоже что-то не то получается.
...
Рейтинг: 0 / 0
25.06.2014, 14:50:47
    #38679806
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с агрегатной функцией
alex-tambovsky,

SELECT min(_expression_) FROM ports p CROSS JOIN ships s WHERE s.ship_mmsi = 218098000;

SELECT p.* FROM ports p CROSS JOIN ships s WHERE s.ship_mmsi = 218098000 ORDER BY _expression_ LIMIT 1;
...
Рейтинг: 0 / 0
25.06.2014, 15:08:55
    #38679849
alex-tambovsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с агрегатной функцией
LeXa NalBat, спасибо понял!
...
Рейтинг: 0 / 0
25.06.2014, 19:56:02
    #38680292
Sergei.Agalakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с агрегатной функцией
Ваша формула для этой задачи неверна.
Если у вас стоит PostGIS, то используйте его ST_Distance_Sphere .
Если нет, то считайте по формулам из Длина дуги большого круга
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запрос с агрегатной функцией / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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