Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah mungkin untuk secara dinamis memilih nama kolom di MYSQL di mana nama kolom adalah 1 dari N nilai yang diketahui?

Saya sepenuhnya setuju dengan komentar @Strawberry bahwa "ini terdengar seperti bencana yang sedang terjadi "—itu sangat strategi desain yang buruk dan saya sangat menyarankan untuk mencari solusi alternatif. Namun, ini adalah tantangan yang menarik… ini adalah solusi saya:

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

Lihat di sqlfiddle .

Perhatikan bahwa jika data rekaman adalah NULL , tidak ada catatan yang akan dikembalikan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Manakah tabel anak dalam Hubungan Mengidentifikasi atau Tidak Mengidentifikasi?

  2. Bagaimana cara mendapatkan tipe numerik dari MySQL menggunakan PDO?

  3. Basis data tidur dan menyebabkan pengecualian

  4. Lancar NHibernate DuplicateMappingException dengan AutoMapping

  5. Doctrine2.3 dan kaskade OneToOne tampaknya tidak berfungsi