Lo que quieres no hacerse en SQL puro.
Esencialmente, desea SQL que pueda seleccionar condicionalmente una columna que podría no existir. Dicho SQL no se pudo analizar; todas las columnas seleccionadas deben existe o la consulta no será válida.
Sin embargo, puede lograr esto en el código de la aplicación consultando las tablas del catálogo para inspeccionar el esquema de la base de datos a la que está conectado y construir dinámicamente su SQL basado en eso.
Esta consulta puede ayudar al código de su aplicación a crear su consulta:
select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'users'
and TABLE_SCHEMA = 'YOUR-DB-NAME';