Możesz utworzyć unię i użyć aliasu w zapytaniu, aby zdefiniować różne mapowania pól dla tej samej nazwy, jeśli w jednej tabeli nie ma żadnego pola, wystarczy rzutować alias na puste 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);
Jeśli userId jest PK/FK, zostanie zwrócony tylko przez jedną tabelę.