Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

É possível selecionar dinamicamente um nome de coluna no MYSQL onde o nome da coluna é 1 de N valores conhecidos?


Concordo totalmente com comentário de @Strawberry que "isso parece um desastre em construção "—é um muito estratégia de design ruim e eu recomendo fortemente encontrar uma solução alternativa. No entanto, é um desafio interessante… esta é a minha solução:
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

Veja em sqlfiddle .

Observe que se os dados do registro forem NULL , nenhum registro será retornado.