powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите начинающему
3 сообщений из 3, страница 1 из 1
Подскажите начинающему
    #39918339
dimvolkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! подскажите, пожалуйста, как решить задачку..
Сделал, вот такой запрос... как теперь отфильтровать результат таким образом чтобы вывести только те аэропорты, в которых есть стоимость Бизнеса меньше, чем Эконома?


select f.arrival_airport, ad.airport_name ->> 'ru' as "name",
row_number () over (partition by f.arrival_airport order by tf.amount asc), tf.fare_conditions, tf.amount
from ticket_flights tf
join flights f
using (flight_id)
join airports_data ad on f.arrival_airport = ad.airport_code
group by f.arrival_airport, tf.fare_conditions, tf.amount, ad.airport_name
...
Рейтинг: 0 / 0
Подскажите начинающему
    #39918347
Синий Слон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как пробовали?

Что не получилось?
...
Рейтинг: 0 / 0
Подскажите начинающему
    #39918376
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimvolkov,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
WITH a AS 
(
	SELECT 'ABA' AS arrival_airport, 'АБАКАН' AS "name", 'Business' AS fare_condidtion, 15.00 AS Amount UNION ALL 
	SELECT 'ABA' AS arrival_airport, 'АБАКАН' AS "name", 'Economy' AS fare_condidtion, 11.00 AS Amount UNION ALL 
	SELECT 'ABA' AS arrival_airport, 'АБАКАН' AS "name", 'Economy' AS fare_condidtion, 12.00 AS Amount UNION ALL 
	SELECT 'ABA' AS arrival_airport, 'АБАКАН' AS "name", 'Economy' AS fare_condidtion, 13.00 AS Amount UNION ALL
	SELECT 'AER' AS arrival_airport, 'СОЧИ' AS "name", 'Economy' AS fare_condidtion, 10.00 AS Amount UNION ALL 
	SELECT 'AER' AS arrival_airport, 'СОЧИ' AS "name", 'Economy' AS fare_condidtion, 11.00 AS Amount UNION ALL 
	SELECT 'AER' AS arrival_airport, 'СОЧИ' AS "name", 'Business' AS fare_condidtion, 12.00 AS Amount UNION ALL 
	SELECT 'AER' AS arrival_airport, 'СОЧИ' AS "name", 'Economy' AS fare_condidtion, 13.00 AS Amount
) 
SELECT 
	arrival_airport 
FROM 
	a
GROUP BY arrival_airport
HAVING 
	MIN(Amount) FILTER (WHERE fare_condidtion = 'Business') < 
	MAX(Amount) FILTER (WHERE fare_condidtion = 'Economy'); 
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите начинающему
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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