create table t
(
group_key varchar2(10),
val varchar2(10)
);
insert into t values ( 'Group 1' , 'a' );
insert into t values ( 'Group 2' , 'a' );
insert into t values ( 'Group 2' , 'b' );
insert into t values ( 'Group 3' , 'a' );
insert into t values ( 'Group 3' , 'b' );
insert into t values ( 'Group 3' , 'c' );
insert into t values ( 'Group 4' , 'a' );
insert into t values ( 'Group 4' , 'a' );
insert into t values ( 'Group 4' , 'b' );
insert into t values ( 'Group 4' , 'b' );
insert into t values ( 'Group 5' , 'a' );
insert into t values ( 'Group 5' , 'b' );
insert into t values ( 'Group 5' , null );
insert into t values ( 'Group 5' , 'd' );
insert into t values ( 'Group 5' , 'e' );
insert into t values ( 'Group 6' , null );
insert into t values ( 'Group 7' , null );
insert into t values ( 'Group 7' , null );
insert into t values ( 'Group 8' , 'a' );
insert into t values ( 'Group 8' , 'a' );
insert into t values ( 'Group 8' , 'b' );
insert into t values ( 'Group 8' , 'b' );
insert into t values ( 'Group 8' , null );
insert into t values ( 'Group 8' , null );
insert into t values ( null, null );
commit;
create table t_group_keys as select distinct group_key from t ;
create type varchar2_table_type as table of varchar2(10) ;
/
show errors
column val format a10
column group_key format a10
column string format a15
column connect_by_path format a15
create table t2
(
group_key varchar2(10) ,
val varchar2(10)
);
insert into t2
select group_key, val
from t2
model
dimension by ( 0 as i, group_key )
measures ( val )
( val
[ for i from 1 to 100 increment 1,
for group_key like '%' from 1000 to 1999 increment 1
] = to_char( chr( mod(cv(i)-1,26)+97 ) )
)
;