Musisz UNPIVOT
Twoje dane. MySQL nie ma wbudowanej funkcji do tego, więc będziesz musiał użyć wielu zapytań.
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
kolumna tutaj może powodować problemy. W zależności od tego, jak to zdefiniowałeś. Jeśli jest generowany automatycznie, możesz go usunąć z WSTAWKI i pozwolić, aby był generowany automatycznie. Ponieważ będziesz mieć wiersze dla wszystkich miesięcy z tym samym ID
, musisz obsłużyć ten scenariusz.