Позвольте мне начать свой вопрос с настройки моего сценария.
У меня есть таблица test2, которая содержит только 2 поля: productid и productlife. Я бы хотел перечислить все годы вместе с продуктами

например,
С продуктом A я хотел бы перечислить
Y15|Y16|Y17|Y18|Y19, A
и для продукта B Используя то же правило, я должен получить
Y18|Y19, B
Мой sql не дает искомого результата:
SELECT
(
SELECT listagg("Year",'|') within GROUP (
ORDER BY "Year") "Prefix"
FROM
(
SELECT 'Y'
||(TO_CHAR(SYSDATE,'yy')-LEVEL) "Year"
FROM dual
CONNECT BY level<=r.productlife
)
) "Prefix", productid
FROM TEST2 r
Как это следует исправить? Я думаю, что поле productlife в каждой записи будет контролировать уровень в утверждении, но, похоже, оно этого не делает ..
Пожалуйста, сообщите.
Ниже приведен скрипт для создания моего примера для Ваше удобство.
CREATE TABLE "TEST2"
( productid VARCHAR2(20 BYTE),
productlife NUMBER
) ;
Insert into TEST2 (productid,productlife) values ('A',5);
Insert into TEST2 (productid,productlife) values ('B',2);
Спасибо!