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

Mysql MySQL hoặc PHP Tự động chuyển đổi hàng thành hai cột

Nó hoạt động giống như FS_amount , chỉ cần thêm các cột mới vào mã của bạn để tạo các cột động:

  SELECT GROUP_CONCAT(DISTINCT CONCAT(
      'MAX(IF(month = ''',
      month,
      ''' and year(date) = ',
      year(date),
      ', FS_amount, NULL)) AS `',
      CONCAT('FA_',month),
      '_',
      year(date),
      '`, ', 
      'MAX(IF(month = ''',
      month,
      ''' and year(date) = ',
      year(date),
      ', AS_amount, NULL)) AS `',
      CONCAT('AS_',month),
      '_',
      year(date),
      '`'      
      )
    order by date
  ) INTO @sql
  FROM tmp_results;

Bạn nên xem mã mà các câu lệnh tạo (ví dụ:bằng cách thêm tạm thời select @sql; ), mặc dù sẽ khá dễ dàng để thêm nhiều cột hơn nữa trong trường hợp bạn cần chúng.




  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ập nhật thứ hạng trong Bảng MySQL

  2. Hạn chế một cột chỉ chấp nhận 2 giá trị

  3. Chèn dữ liệu vào cơ sở dữ liệu MySQL

  4. Câu lệnh SQL đang bỏ qua tham số where

  5. tải tệp lên MySql DB bằng PHP