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]