SELECT CONCAT( p.last_name, ', ', p.first_name, ' (', d.provider_no, ')' ) as Physician, CONCAT( d.last_name, ', ', d.first_name ) as Patient, CONCAT( "(", d.demographic_no, ")" ) as Link, d.Email, d.Phone, d.Phone2, MAX(a.appointment_date) as LastAppt, DATEDIFF( curdate(), MAX(a.appointment_date)) as Days FROM demographic d, provider p, appointment a WHERE d.provider_no = p.provider_no AND d.provider_no = '{provider}' AND d.patient_status = 'AC' AND DATEDIFF( curdate(), ( SELECT MAX(appointment_date) FROM appointment WHERE demographic_no = d.demographic_no and provider_no = d.provider_no ) ) > '{years}' * 365 AND d.demographic_no = a.demographic_no AND d.provider_no = a.provider_no GROUP BY d.demographic_no ORDER BY d.last_name, d.first_name ; ( select distinct provider_no, concat(last_name,',',first_name,'(',provider_no,')') as name from provider where provider_type = 'doctor' and status = 1 ) UNION ( select 'ALL', ' All providers' ) order by name ;