Объединить значения из одного поля в многоколоночной таблице.Объединить значения из одного поля в многоколоновом столбце Oracle 11g
T1 имеет дублированные значения в нескольких столбцах, а затем не уникальные значения в последнем столбце. Необходимо вернуть уникальные значения из первых 6 столбцов, а затем объединить не уникальные значения в последнем столбце. Col1 является фокальной точкой, поэтому накопление происходит из различных значений в col7. Столбы между ними не имеют большого значения, они могут быть уникальными или не уникальными. Они должны отображаться в возвращаемых значениях.
образец сильно упрощен до реальной проблемы, но дело под рукой, чтобы вернуться col1, все между ними, то сцепить значения, накопленные от col7
CREATE TABLE T1
(
COL1 NUMBER,
COL2 NUMBER,
COL3 NUMBER,
COL4 NUMBER,
COL5 NUMBER,
COL6 NUMBER,
COL7 NUMBER);--
INSERT INTO T1 VALUES(1, 2, 3, 4, 5, 6, 7);
INSERT INTO T1 VALUES(1, 2, 3, 4, 5, 6, 97);
INSERT INTO T1 VALUES(1, 2, 3, 4, 5, 6, 147);
Desired results
COL1, COL2, COL3, COL4, COL5, COL6, COL7
1 2 3 1 2 3 7, 97,147
Я имею в виду, что потребуется две самостоятельные присоединяется к конкатенации, но не знает, как создавать скрипты.
Любые предложения и идеи оценены.
функция LISTAGG может помочь вам. – voter
Благодарим вас за ответ. SELECT col1, LISTAGG (col7, '') внутри группы (ORDER BY col1) AS имена FROM ( ВЫБРАТЬ UNIQUE col7, col1 ОТ t1 ) GROUP BY col1 – user761758
Я не могу получить дисплей в формате кода, но он работает и дает мне почти все, что мне нужно. То, что я до сих пор не могу работать, - это добавить столбцы I между 1 и 7. listagg дает мне желаемые результаты для col 1 и col7, но в любом месте я пытаюсь добавить другие столбцы, я получаю сообщение об ошибке .. – user761758