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

Nhận động tên cột theo Giá trị hàng cụ thể

set @q= CONCAT('SELECT columns.column_name 
                from table inner 
                join information_schema.columns 
                on columns.table_schema = "dbname" 
                and columns.table_name = "table" 
                and ((',
                (SELECT GROUP_CONCAT(CONCAT('columns.column_name="',column_name,'"',' and table.',column_name,' = "value','"') SEPARATOR ' OR ')
                FROM INFORMATION_SCHEMA.COLUMNS 
                WHERE table_name = 'table'),
                '))');
prepare query from @q;
execute query;

Điều này chắc chắn hoạt động ..

Phù!

Fiddle: http://sqlfiddle.com/#!2/9420c/2/2

Tái bút:Thay thế bảng table với tên bảng của bạn, dbname với tên db và giá trị table của bạn với giá trị của bạn



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Loại bỏ các bản sao chỉ bằng cách sử dụng một truy vấn MySQL?

  2. Cách sử dụng điều kiện if / else trong một lựa chọn trong mysql

  3. Lỗi cú pháp SQL gần mô tả

  4. Cách tạo mối quan hệ trong MySQL

  5. Xóa số khỏi chuỗi trong mysql