Můžete vytvořit sjednocení a použít alias v dotazu k definování různých mapování polí pro stejný název, pokud v jedné tabulce není žádné pole, stačí přetypovat alias pro prázdné pole:
SELECT (staff.name) as name FROM users
left JOIN staff USING (user_id)
UNION
SELECT (customers.first_name) as name FROM users
left JOIN customers USING (user_id);
Pokud je userId PK/FK, bude vráceno pouze jednou tabulkou.