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 đó.