Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có thể chọn động một tên cột trong MYSQL trong đó tên cột là 1 trong N giá trị đã biết không?

Tôi hoàn toàn đồng ý với Nhận xét của @ Strawberry rằng " điều này nghe có vẻ như một thảm họa trong quá trình sản xuất "—Đó là một rất chiến lược thiết kế kém và tôi thực sự khuyên bạn nên tìm một giải pháp thay thế. Tuy nhiên, đó là một thử thách thú vị… đây là giải pháp của tôi:

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

Xem nó trên sqlfiddle .

Lưu ý rằng nếu dữ liệu bản ghi là NULL , sẽ không có bản ghi nào được trả lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cơ sở dữ liệu quan hệ thiết kế nhiều kiểu người dùng

  2. Cách tải câu lệnh sql WHERE tự động cập nhật từ liên kết localhost

  3. MySQL / MariaDB - sắp xếp theo truy vấn con bên trong

  4. MySql thêm một tham gia đưa ra kết quả không chính xác

  5. MySQL thay đổi kiểu xác thực từ tiêu chuẩn thành caching_sha2_password