SELECT t3.site_code FROM( SELECT t1.site_code,t1.parent_site_code,t1.site_name, IF( FIND_IN_SET( parent_site_code, @parent_ids ) > 0, @parent_ids := CONCAT( @parent_ids, ',', site_code ), '0' ) AS cids FROM ( SELECT * FROM emis_site AS t WHERE t.del_flag = '0' ORDER BY t.site_code ASC ) t1, ( SELECT @parent_ids := #{ownerSite} ) t2 ) t3 WHERE cids != '0' UNION SELECT #{ownerSite} FROM dual SELECT t1.site_code FROM ( SELECT * FROM emis_site WHERE parent_site_code IS NOT NULL ) t1,( SELECT @pid := #{createSite} ) pd WHERE FIND_IN_SET( parent_site_code, @pid ) > 0 AND @pid := concat(@pid,',',site_code) UNION SELECT #{createSite} FROM dual