You didn't post CREATE TABLE and INSERT statements for your tables, so I can't test it.

Don't use wm_concat; it's not documented. Since you have Oracle 11.2, you can use LISTAGG, or, if you really need the DISTINCT feature outside of PL/SQL, the user-defined STRAGG which you can copy from the following page:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2196162600402

I wouldn't discourage someone from using WM_CONCAT if they have not yet moved to 11gR2.

While not documented at tahiti ... it is most certainly documented by Tom Kyte:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:2196162600402
and all of the other WM_ functions are documented:
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e11826/index.htm#W

If in 11gR2 then use LISTAGG
http://www.morganslibrary.org/reference/analytic_functions.html#afla