sql >> Base de Datos >  >> RDS >> Mysql

¿Es posible seleccionar dinámicamente un nombre de columna en MYSQL donde el nombre de la columna es 1 de N valores conocidos?

Estoy completamente de acuerdo con Comentario de @Strawberry que "esto suena como un desastre en ciernes "—es un muy mala estrategia de diseño y recomiendo encarecidamente encontrar una solución alternativa. Sin embargo, es un desafío interesante... esta es mi solución:

SELECT COALESCE(title,label,name) col FROM `table` NATURAL LEFT JOIN (
  SELECT NULL title, NULL label, NULL name
) t WHERE COALESCE(title,label,name) IS NOT NULL

Véalo en sqlfiddle .

Tenga en cuenta que si los datos del registro son NULL , no se devolverá ningún registro.