Du kan dra fördel av det faktum att de flesta aggregerade funktioner ignorerar null
:
select
id,
company,
city,
province,
max(manager_email) manager_email,
max(staff_email) staff_email
from mytable
group by id, company, city, province