Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy można dynamicznie wybrać nazwę kolumny w MYSQL, gdzie nazwa kolumny to 1 z N znanych wartości?

Całkowicie zgadzam się z @Komentarz Truskawki że „to brzmi jak katastrofa w przygotowaniu „—to bardzo słaba strategia projektowania i zdecydowanie polecam znalezienie alternatywnego rozwiązania. Jest to jednak ciekawe wyzwanie… oto moje rozwiązanie:

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

Zobacz na sqlfiddle .

Zwróć uwagę, że jeśli dane rekordu mają wartość NULL , żaden zapis nie zostanie zwrócony.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz dwa zapytania MYSQL SELECT

  2. Zapytanie MySQL:Używanie UNION i pobieranie numeru wiersza jako część SELECT

  3. Railsy na OSX 10.11 El Capitan:Biblioteka nie załadowana:libmysqlclient.18.dylib

  4. Jak spowodować zakleszczenie w MySQL

  5. MySQL i UTF-8