Сохраненный поиск с группировкой последней даты - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь выполнить поиск сохраненной транзакции, который показывает последнюю передачу бина для каждого элемента. Это довольно легко, если я просто группирую по пунктам и по максимальной дате. Но я всегда хотел бы, чтобы он показал корзину последнего перевода и лот. Если я сгруппирую по этим двум полям, то получу несколько записей для каждого элемента.

Есть мысли о том, как мне достичь этого результата?

Спасибо

1 Ответ

1 голос
/ 14 июня 2019

Это немного сложно, но вы можете использовать формулу (текст) и минимальный сводный тип с недокументированной формулой NS_CONCAT и DISTINCT, а затем REGEXP_SUBSTR, чтобы получить нужные данные.

NS_CONCAT - объединяет все записивнутри вашей группы с разделителем запятых

DISTINCT - возвращает только уникальные значения, но также упорядочивает их

Ваша формула будет выглядеть примерно так:

REPLACE(
    REGEXP_SUBSTR(
        NS_CONCAT(
            DISTINCT TO_CHAR({transaction.trandate},'YYYYMMDDHHMI')||','||{transaction.binnumber}
        ), ',[^,]+,'
    ), ',', ''
)

, чтобы изменить порядок, используйте:

TO_CHAR(CURRENT_TIMESTAMP - {transaction.datecreated})

или

TO_CHAR(CURRENT_DATE - {transaction.trandate}, 'FM00000')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...