SELECT IF(a.provider_no,IFNULL(d.provider_no,"Total"),'GTL') as 'MRP', COUNT(`appointment_no`) as '#{start_date}
to{end_date}', IF(a.provider_no,p.last_name,'') as 'Provider', a.provider_no 'no' FROM `appointment` a, demographic d, provider p WHERE a.`demographic_no`=d.demographic_no AND d.provider_no > 0 AND appointment_date > '{start_date}' AND appointment_date < '{end_date}' AND a.provider_no LIKE {provider_no} AND a.status <> 'N' AND a.status <> 'C' AND a.demographic_no <> '0' AND p.provider_no=a.provider_no GROUP BY a.provider_no, d.provider_no WITH ROLLUP;
SELECT "'%'" as provider_no, 'all providers' as provider UNION SELECT provider_no, concat(last_name,',',first_name,'(',provider_no,')') from provider WHERE status='1' ORDER BY provider_no;