Du skal UNPIVOT
dine data. MySQL har ikke en indbygget funktion til at gøre det, så du bliver nødt til at bruge flere forespørgsler.
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
kolonne her kan forårsage problemer. Alt efter hvordan du har defineret det. Hvis det er automatisk genereret, kan du fjerne det fra INSERT og lade det blive automatisk genereret. Da du vil have rækker for alle måneder med samme ID
, skal du håndtere det scenarie.