Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ist es möglich, einen Spaltennamen in MYSQL dynamisch auszuwählen, wobei der Spaltenname 1 von N bekannten Werten ist?

Ich stimme voll und ganz mit @Strawberrys Kommentar dass "das klingt wie eine Katastrophe im Entstehen „—es ist ein sehr schlechte Designstrategie und ich empfehle dringend, eine alternative Lösung zu finden. Allerdings ist es eine interessante Herausforderung… das ist meine Lösung:

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

Sehen Sie es auf sqlfiddle .

Beachten Sie, dass, wenn die Datensatzdaten NULL sind , es wird kein Datensatz zurückgegeben.