Quello che vuoi non essere fatto in puro SQL.
In sostanza, vuoi che SQL possa selezionare in modo condizionale una colonna che potrebbe non esistere. Impossibile analizzare tale SQL:tutte le colonne selezionate devono esiste o la query non sarà valida.
Tuttavia, puoi ottenere questo codice dell'applicazione interrogando le tabelle del catalogo per ispezionare lo schema del database a cui sei connesso e creare dinamicamente il tuo SQL in base a quello.
Questa query può aiutare il codice della tua app a creare la tua query:
select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'users'
and TABLE_SCHEMA = 'YOUR-DB-NAME';