Du kan udnytte det faktum, at de fleste aggregerede funktioner ignorerer null
:
select
id,
company,
city,
province,
max(manager_email) manager_email,
max(staff_email) staff_email
from mytable
group by id, company, city, province