Трябва да UNPIVOT
вашите данни. MySQL няма вградена функция за това, така че ще трябва да използвате множество заявки.
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
колоната тук може да предизвика проблеми. В зависимост от това как сте го дефинирали. Ако е автоматично генериран, тогава можете да го премахнете от INSERT и да го оставите да се генерира автоматично. Тъй като ще имате редове за всички месеци със същия ID
, трябва да се справите с този сценарий.