Sie könnten eine Vereinigung erstellen und einen Alias in der Abfrage verwenden, um verschiedene Feldzuordnungen für denselben Namen zu definieren. Wenn es in einer Tabelle kein Feld gibt, wandeln Sie einfach den Alias in ein leeres Feld um:
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);
Wenn die Benutzer-ID eine PK/FK ist, wird sie nur von einer Tabelle zurückgegeben.