Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите начинающему / 3 сообщений из 3, страница 1 из 1
24.01.2020, 13:02
    #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
24.01.2020, 13:13
    #39918347
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите начинающему
Как пробовали?

Что не получилось?
...
Рейтинг: 0 / 0
24.01.2020, 13:45
    #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
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите начинающему / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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