In Oracle 9 and postgres you can define your own aggregate functions - which makes this kind of query really easy (basically you make a "CONCAT" aggregate function - or for our purpose we might create a TCLLIST one).
Unfortunately I don't know of any solution for Oracle 8.