आपको 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
. के साथ सभी महीनों के लिए पंक्तियाँ होंगी , आपको उस परिदृश्य को संभालने की आवश्यकता है।