Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-il possible de sélectionner dynamiquement un nom de colonne dans MYSQL où le nom de colonne est 1 des N valeurs connues ?

Je suis entièrement d'accord avec Commentaire de @ Strawberry que "cela ressemble à un désastre en devenir "- c'est un très mauvaise stratégie de conception et je recommande fortement de trouver une solution alternative. Cependant, c'est un défi intéressant... voici ma solution :

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

Voir sur sqlfiddle .

Notez que si les données d'enregistrement sont NULL , aucun enregistrement ne sera retourné.