Display child records in single column by comma separted with parent records Have parent &amp; child table like below for Oracle

T_OPT_PARENT 

OPT | OPT_DESC| STATUS 
XY  | XY_DESC | A 
YZ  | YZ_DESC | A 
ZZ  | ZZ_DESC | A 


T_OPT_CHILD

OPT | CODE
XY  | ONE_CODE
XY  | TWO_CODE
XY  | THREE_CODE
ZZ  | ONE_CODE
ZZ  | TWO_CODE


Expected OutPut 

OPT | OPT_DESC| CODE                 | STATUS 
XY  | XY_DESC | ONE_CODE,TWO_CODE,THREE_CODE | A
YZ  | YZ_DESC |                              | A 
ZZ  | ZZ_DESC | ONE_CODE, TWO_CODE           | A 


Could some one help me to construct SQL to obtain the expected result.
Setup tables and data:

create table T_OPT_PARENT
(OPT       char(2)
,OPT_DESC  varchar2(10)
,STATUS    char(1));

insert into T_OPT_PARENT
select 'XY','XY_DESC','A' from dual union all
select 'YZ','YZ_DESC','A' from dual union all
select 'ZZ','ZZ_DESC','A' from dual;

create table T_OPT_CHILD
(OPT       char(2)
,CODE      varchar2(10));

insert into T_OPT_CHILD
select 'XY','ONE_CODE'   from dual union all
select 'XY','TWO_CODE'   from dual union all
select 'XY','THREE_CODE' from dual union all
select 'ZZ','ONE_CODE'   from dual union all
select 'ZZ','TWO_CODE'   from dual;


Here's one solution based on a left join and the listagg() function:

select p.OPT,
       p.OPT_DESC,
       listagg(c.CODE, ', ') within group (order by ROWNUM) "CODE",
       p.STATUS

from T_OPT_PARENT p

left
join T_OPT_CHILD c
on   c.OPT = p.OPT

group by p.OPT, 
         p.OPT_DESC,
         p.STATUS

order by 1;

 OPT | OPT_DESC | CODE                           | STATUS
 --- | -------- | ------------------------------ | ------
 XY  | XY_DESC  | ONE_CODE, TWO_CODE, THREE_CODE | A     
 YZ  | YZ_DESC  | null                           | A     
 ZZ  | ZZ_DESC  | ONE_CODE, TWO_CODE             | A  


NOTE: I'm able to sort XY's CODE as desired using ROWNUM only because I inserted the records into the T_OPT_CHILD table in the same order as the desired sort order.  The use of ROWNUM may not work for your real world data so you'll likely need to modify the order by ROWNUM clause accordingly.

Here's a dbfiddle