MySQL में पूर्णांक कॉलम नामों के साथ एक डायनेमिक पिवट टेबल बनाना थोड़ी चुनौती पेश करता है। प्रदान की गई क्वेरी चलाते समय, यदि user_id मान पूर्णांक हैं तो आपको एक त्रुटि का सामना करना पड़ सकता है। इस समस्या को हल करने के लिए, हमें user_id मानों को बैकटिक्स (`) में लपेटने की आवश्यकता है।
समायोजित SQL क्वेरी इस तरह दिखती है:
SET @sql = NULL; SELECT GROUP_CONCAT(DISTINCT CONCAT( 'max(case when user_id = ''', user_id, ''' then score end) AS `', user_id, '`' ) ) INTO @sql FROM measure2; SET @sql = CONCAT('SELECT inspection_date, ', @sql, ' FROM measure2 GROUP BY inspection_date'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
यहां मुख्य संशोधन GROUP_CONCAT कथन में user_id मानों के आसपास बैकटिक्स जोड़ना है। ऐसा करके, हम यह सुनिश्चित कर रहे हैं कि user_id मानों को कॉलम नामों के बजाय स्ट्रिंग के रूप में माना जाए।
SQL Fiddle Demo: https://sqlfiddle.com/#!2/eab24/ 4
अब, पूर्णांक उपयोगकर्ता_आईडी मानों के साथ भी, गतिशील पिवट तालिका सफलतापूर्वक उत्पन्न हो जाएगी।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3