есть таблица TABLE01 с указанными ниже полей и значений:Необходимо разбить; разделенных данных в разных строках, а затем получить рассчитывать для каждой строки
COL1 COL2 COL3 COL4 COL5 COL6 COL7
01-01-2017 P 123 abc Y T A1_A2
01-21-2017 P 456 rst N P A1_A3;A4
06-10-2017 P 876 hyi N S A2_A8;A5_A6;A9
10-12-2017 P 999 iop Y R A7
Теперь нужно создать новую таблицу, имеющие столбцы (col1, col2, COL3, COL4 , COL7 и COUNT_COL3), используя таблицу выше, разделив все ';' отделено COL7 в разные строки в соответствии со счетом каждого COL3
COL1 COL2 COL3 COL4 COL7 COUNT_COL3
01-01-2017 P 123 abc A1_A2 1
01-21-2017 P 456 rst A1_A3 2
01-21-2017 P 456 rst A4 2
06-10-2017 P 876 hyi A2_A8 3
06-10-2017 P 876 hyi A5_A6 3
06-10-2017 P 876 hyi A9 3
10-12-2017 P 999 iop A7 1
Я могу сделать splititng часть и добавляю 0 для подсчета не знает, как добавить счетчик часть
INSERT into TABLE02 (COL1, COL2,COL3,COL4,COL7,COUNT_COL3)
SELECT COL1, COL2, COL3,COL4,
trim(COLUMN_VALUE) COL7, 0
FROM TABLE01
xmltable(('"'
|| REPLACE(COL7, ';', '","')
|| '"'))
;
Может кто-то пожалуйста предложить?
Попробуйте 'count (*) over (partition by col1, col2, col3, col4)' – krokodilko
Это сработало! спасибо Крокодилко – Mishti