powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос.
3 сообщений из 3, страница 1 из 1
Помогите составить запрос.
    #39740108
AlexeyMihaylov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,

Ребят, помогите, пожалуйста, модифицировать запрос для Postgres. Сейчас он выглядит так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT 
               supplier_order_items.product_id,
               extract(YEAR FROM supplier_orders.time)  AS year,
               max(supplier_order_items.price_per_item) AS price_per_item
                                                         
FROM supplier_order_items
                                                                 
INNER JOIN supplier_orders ON supplier_order_items.order_id = supplier_orders.id
            
            
GROUP BY 1, 2
            
HAVING extract(YEAR FROM supplier_orders.time) = ?
            
ORDER BY supplier_order_items.product_id ASC



Ивлекает идентификатор продукта, год заказа и самую высокую в этом году цену.

Нужно сделать так, чтобы цена за каждый продукт указывалась для каждого года, даже если в данном году этот продукт не заказывался. Тут есть одно важное условие - нужно сделать так, чтобы если для текущего кода цены нету, она бралась за ближайший прошедший год, в котором она есть и больше нуля. Иначе - поставить 0.

Не понимаю, как сделать.
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #39740176
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может легче будет завести отдельные столбцы для каждого используемого года ?
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #39740185
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyMihaylovНужно сделать так, чтобы цена за каждый продукт указывалась для каждого года
pivot же
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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