Mysql
 sql >> Database >  >> RDS >> Mysql

È possibile selezionare dinamicamente un nome di colonna in MySQL in cui il nome della colonna è 1 di N valori noti?

Sono completamente d'accordo con @commento di Strawberry che "sembra un disastro in divenire "—è un molto strategia di progettazione scadente e consiglio vivamente di trovare una soluzione alternativa. Tuttavia, è una sfida interessante... questa è la mia soluzione:

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

Guardalo su sqlfiddle .

Nota che se i dati del record sono NULL , nessun record verrà restituito.