Hi Tom,
The original question was asking for a list of "distinct" column values,
but there was duplicate "A" ( "ALLCODE" : A,B,C,A ) in your answer.
How about this query?
SQL> SELECT code,
(SELECT RTRIM(REVERSE(MAX( SYS_CONNECT_BY_PATH (code, ',') )) , ',')
2 FROM T1
3 CONNECT BY code < PRIOR code ) allcode
4 FROM T1;
CODE ALLCODE
----- --------------------
A A,B,C
B A,B,C
C A,B,C
A A,B,C
If the user doesn't want dupliate rows in the result set then use this query:
SQL> SELECT DISTINCT code, RTRIM(REVERSE(MAX(str) over ( )) , ',') allcode
2 FROM
3 (
4 SELECT code, SYS_CONNECT_BY_PATH (code, ',') str
5 FROM T1
6 CONNECT BY code < PRIOR code
7 ) ;
CODE ALLCODE
----- --------------------
A A,B,C
B A,B,C
C A,B,C
SQL> spool off
Thanks,
Frank