23 -

SELECT CONCAT('30', IF( COALESCE(GROUP_CONCAT(distinct c1.categories_id),'') = '', '', ',') , COALESCE(GROUP_CONCAT(distinct c1.categories_id),''), IF( COALESCE(GROUP_CONCAT(distinct c2.categories_id),'') = '', '', ',') , COALESCE(GROUP_CONCAT(distinct c2.categories_id),''), IF( COALESCE(GROUP_CONCAT(distinct c3.categories_id),'') = '', '', ',') , COALESCE(GROUP_CONCAT(distinct c3.categories_id),''), IF( COALESCE(GROUP_CONCAT(distinct c4.categories_id),'') = '', '', ',') , COALESCE(GROUP_CONCAT(distinct c4.categories_id),'') ) as cat_ids FROM categories c1 LEFT JOIN categories c2 ON c1.categories_id = c2.parent_id LEFT JOIN categories c3 ON c2.categories_id = c3.parent_id LEFT JOIN categories c4 ON c3.categories_id = c4.parent_id WHERE c1.parent_id IN (30)

[TEP STOP]