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

MySQL concat () để tạo tên cột được sử dụng trong một truy vấn?

Trước đây tôi đã nói rằng điều này không thể được thực hiện, nhưng tôi đã sai. Bản thân tôi cũng cần một thứ như thế này nên tôi đã xem xét xung quanh và phát hiện ra rằng câu lệnh được chuẩn bị từ phía máy chủ cho phép bạn xây dựng và thực thi các câu lệnh SQL tùy ý từ các chuỗi.

Đây là một ví dụ tôi vừa làm để chứng minh khái niệm:

set @query := (
  select concat(
    "select",
      group_concat(concat("\n  1 as ", column_name) separator ','),
    "\nfrom dual")
  from information_schema.columns
  where table_name = 'columns')
;
prepare s1 from @query
;
execute s1
;
deallocate prepare s1
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'LIKE ('% this% 'OR'% that% ') và cái gì đó =else' không hoạt động

  2. Khóa chính đa cột MySQL

  3. Làm thế nào để tìm các kết quả tương tự và sắp xếp theo độ tương tự?

  4. Đã cố đọc lỗi cuối luồng trong MySQL

  5. Cột được tính từ cột khác?