Его немного сложно, проверьте, работает ли он для вас
select a.id,if(a.parent = 0,@varw:=concat(a.id,','),@varw:=concat(a.id,',',@varw)) as list from (select * from recursivejoin order by if(parent=0,id,parent) asc) a left join recursivejoin b on (a.id = b.parent),(select @varw:='') as c having list like '%19,%';
Ссылка на скрипт SQL http://www.sqlfiddle.com/#!2/e3cdf/2
Замените имя поля и таблицы соответствующим образом.