DROP PROCEDURE IF EXISTS sp_test6; DROP PROCEDURE IF EXISTS sp_test7; DROP PROCEDURE IF EXISTS sp_test8; DROP PROCEDURE IF EXISTS sp_test9; DELIMITER $$ CREATE PROCEDURE `sp_test6`(IN sortcolumn VARCHAR(100)) BEGIN SELECT CASE WHEN sortcolumn='parent_org_struct_name' THEN os.org_struct_name ELSE 'NULL STRING' END AS sort_asc_string_1, d.nps_score AS sort_numeric FROM RawData d LEFT JOIN RawData2 os ON os.org_struct_id = d.parent_org_struct_id GROUP BY sort_asc_string_1,sort_numeric; END; $$ CREATE PROCEDURE `sp_test7`(IN sortcolumn VARCHAR(100)) BEGIN SELECT CASE WHEN sortcolumn='parent_org_struct_name' THEN os.org_struct_name ELSE 'NULL STRING' END AS sort_asc_string_1, d.nps_score AS sort_numeric FROM RawData d LEFT JOIN RawData2 os ON os.org_struct_id = d.parent_org_struct_id ORDER BY sort_asc_string_1,sort_numeric; END; $$ CREATE PROCEDURE `sp_test8`(IN sortcolumn VARCHAR(100)) BEGIN SELECT IF(sortcolumn='parent_org_struct_name',os.org_struct_name, 'NULL STRING') AS sort_asc_string_1, d.nps_score AS sort_numeric FROM RawData d LEFT JOIN RawData2 os ON os.org_struct_id = d.parent_org_struct_id GROUP BY sort_asc_string_1,sort_numeric; END; $$ CREATE PROCEDURE `sp_test9`(IN sortcolumn VARCHAR(100)) BEGIN SELECT IF(sortcolumn='parent_org_struct_name',os.org_struct_name, 'NULL STRING') AS sort_asc_string_1, d.nps_score AS sort_numeric FROM RawData d LEFT JOIN RawData2 os ON os.org_struct_id = d.parent_org_struct_id ORDER BY sort_asc_string_1,sort_numeric; END; $$ DELIMITER ;