Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक प्रश्न के साथ सारांश परिणाम बनाएं

यह एक मानक पिवट क्वेरी है:

  SELECT uc.uut_sn,
         MAX(CASE 
               WHEN uc.characteristic_name = 'char_name_1' THEN uc.characteristic_value 
               ELSE NULL 
             END) AS char_name_1,
         MAX(CASE 
               WHEN uc.characteristic_name = 'char_name_2' THEN uc.characteristic_value 
               ELSE NULL 
             END) AS char_name_2,
         MAX(CASE 
               WHEN uc.characteristic_name = 'char_name_3' THEN uc.characteristic_value 
               ELSE NULL 
             END) AS char_name_3,
    FROM unit_characteristics uc
GROUP BY uc.uut_sn

इसे गतिशील बनाने के लिए, आपको का उपयोग करना होगा MySQL का डायनेमिक SQL सिंटैक्स जिसे रेडीड स्टेटमेंट कहा जाता है . इसके लिए दो प्रश्नों की आवश्यकता है - पहले को characteristic_name . की एक सूची मिलती है मान, ताकि आप उपयुक्त स्ट्रिंग को CASE अभिव्यक्तियों में जोड़ सकें, जैसा कि आप मेरे उदाहरण में अंतिम क्वेरी के रूप में देखते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डीबी प्राप्त करना:SQLSTATE [HY000] [2002] कनेक्शन ने मैक पर MAMP के साथ त्रुटि से इनकार कर दिया

  2. निष्पादन योग्य जावा एप्लिकेशन (JAR) डेटाबेस के अंदर पैक किया गया

  3. क्रॉन जॉब का उपयोग करके दैनिक डेटाबेस बैकअप

  4. MySQL विदेशी कुंजी बाधा नहीं बना सकता

  5. MYSQL डुप्लीकेट कुंजी काम नहीं कर रही है