select tt.*, temp.specialty_name
from (select t.teacher_id,
wm_concat(tem.specialty_name) as specialty_name
from (select tsp.specialty_name, tsp.specialty_id
from t_com_specialty tsp
start with tsp.specialty_id =
(select specialty_id
from t_com_specialty ss
where ss.specialty_id =
'a1b77d84-2099-420c-9fec-68392da75f36')
connect by prior tsp.specialty_id = tsp.parent_id) tem
inner join (select o.speciality_id, o.teacher_id
from T_TRAIN_TEACHER_SPECIAL o) t_sp on (t_sp.speciality_id =
tem.specialty_id)
inner join T_TRAIN_TEACHER t on(t.teacher_id=t_sp.teacher_id)
group by t.teacher_id) temp
left join T_TRAIN_TEACHER tt on temp.teacher_id = tt.teacher_id
from (select t.teacher_id,
wm_concat(tem.specialty_name) as specialty_name
from (select tsp.specialty_name, tsp.specialty_id
from t_com_specialty tsp
start with tsp.specialty_id =
(select specialty_id
from t_com_specialty ss
where ss.specialty_id =
'a1b77d84-2099-420c-9fec-68392da75f36')
connect by prior tsp.specialty_id = tsp.parent_id) tem
inner join (select o.speciality_id, o.teacher_id
from T_TRAIN_TEACHER_SPECIAL o) t_sp on (t_sp.speciality_id =
tem.specialty_id)
inner join T_TRAIN_TEACHER t on(t.teacher_id=t_sp.teacher_id)
group by t.teacher_id) temp
left join T_TRAIN_TEACHER tt on temp.teacher_id = tt.teacher_id