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

UNPIVOT dữ liệu mysql sang bảng khác

Bạn cần UNPIVOT dữ liệu của bạn. MySQL không có một chức năng tích hợp để làm điều đó, vì vậy bạn sẽ cần sử dụng nhiều truy vấn.

INSERT INTO `monthlydata` (`id`, `year`, `monthName`, `stat_id`, `cat_id`, `data`) VALUES
SELECT id, year, 'January', stat_id, cat_id, January
    FROM monthly WHERE monthName = 'January'
UNION ALL 
SELECT id, year, 'February', stat_id, cat_id, February
    FROM monthly WHERE monthName = 'February'
UNION ALL 
SELECT id, year, 'March', stat_id, cat_id, March
    FROM monthly WHERE monthName = 'March'
.....

ID cột ở đây có thể gây ra sự cố. Tùy thuộc vào cách bạn đã xác định nó. Nếu nó được tạo tự động thì bạn có thể xóa nó khỏi INSERT và để nó được tạo tự động. Vì bạn sẽ có các hàng cho tất cả các tháng với cùng một ID , bạn cần phải xử lý tình huố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. chèn giá trị của biểu mẫu chọn html vào cơ sở dữ liệu mysql

  3. Không thể kết nối với máy chủ mysql trên AWS RDS

  4. Làm thế nào để nhận được ngày đầu tiên của mỗi tháng tương ứng trong mysql?

  5. Khi nào đóng con trỏ bằng MySQLdb