Последние три записи

Автор Наташа, мая 16, 2018, 04:51:44 pm

« предыдущая - следующая »

Наташа

Здравствуйте!
Подскажите, пожалуйста, как можно решить такую задачу.
Есть товар, на который с 2017 года сделано 6 установок цен.
Мне необходимо вывести только три последние.
Отобразить необходимо в разных колонках.

Например: Есть товар А с установками цен на 10 руб, 9 руб, 8 руб, 9 руб, 10 руб, 2 руб

Необходимо, чтобы отчет имел вид

Товар Цена 1 Цена 2 Цена 3
А        9           10        2

admin

мая 17, 2018, 07:17:49 am #1 Последнее редактирование: мая 17, 2018, 07:20:44 am от admin
Привет.
Можно ввести поле с признаком порядка цены. Вариант с полями для каждой цены тоже возможен, но с одним, "флаговым" полем лучше  :).


Цены:
LOAD 'Товар 1' As Товар,* INLINE [
    Дата, Цена
    01.01.2017, 100
    01.03.2017, 300
    01.05.2017, 200
    01.07.2017, 500
    01.09.2017, 50
    01.11.2017, 90
    01.01.2018, 600
    01.03.2018, 150
    01.05.2018, 250
];

реестр:
LOAD Товар, date(max(Дата,1)) as Дата, 'Цена 1' as ФлагЦены Resident Цены Group by Товар;
LOAD Товар, date(max(Дата,2)) as Дата, 'Цена 2' as ФлагЦены Resident Цены Group by Товар;
LOAD Товар, date(max(Дата,3)) as Дата, 'Цена 3' as ФлагЦены Resident Цены Group by Товар;


Left join (реестр) LOAD * Resident Цены;
DROP Table Цены;