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

MySQL क्वेरी - दो कारकों के आधार पर डेटा से जुड़ें, फिर मानों के आधार पर डेटा को सॉर्ट करने के तरीके को अनुकूलित करें

Select wp_users.ID
    , wp_users.user_login
    , wp_users.user_email
    , wp_users.user_nicename
    , Min( Case When wp_usermeta.meta_key = 'first_name' Then wp_usermeta.meta_value End ) As first_name
    , Min( Case When wp_usermeta.meta_key = 'last_name' Then wp_usermeta.meta_value End ) As last_name
    , Min( Case When wp_usermeta.meta_key = 'address' Then wp_usermeta.meta_value End ) As address
    , Min( Case When wp_usermeta.meta_key = 'dob' Then wp_usermeta.meta_value End ) As dob
From wp_user
    Join wp_usermeta
        On wp_usermeta.user_id = wp_user.ID
Where Exists    (
                Select 1
                From wp_usermeta As Meta1
                Where Meta1.user_id = wp_user.id
                    And Meta1.meta_key = 'wp_user_level' 
                    And Meta1.meta_value = '0' 
                )
        And wp_usermeta.meta_key In('first_name','last_name','address','dob')                   
Group By wp_users.ID
    , wp_users.user_login
    , wp_users.user_email
    , wp_users.user_nicename

सबसे पहले, जैसा कि अन्य ने उल्लेख किया है, एक कारण यह है कि यह प्रश्न लिखने के लिए इतना बोझिल है कि आपको एक ईएवी संरचना का उपयोग करना पड़ रहा है। "मेटा" तालिका की अवधारणा वास्तव में संबंधपरक डिजाइन के लिए एक अभिशाप है। दूसरा, ईएवी से जानकारी प्राप्त करने के लिए, आपको एक क्रॉसस्टैब क्वेरी कहलाना होगा जहां आप अपनी क्वेरी में इच्छित कॉलम बनाते हैं। आम तौर पर, रिलेशनल डेटाबेस ऑन-द-फ्लाई कॉलम पीढ़ी के लिए डिज़ाइन नहीं किए जाते हैं जैसे कि मैं अपने समाधान में कर रहा हूं और ईएवी के लिए आवश्यक है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लिंक किए गए मानों से अद्वितीय उपयोगकर्ता ढूँढना

  2. गैर-सन्निहित मानों की गणना करना

  3. MySQL:आईडी द्वारा ऑर्डर अन्य कॉलम द्वारा ऑर्डर की तुलना में बहुत धीमी गति से क्यों चलता है?

  4. MySIAM पर InnoDB का उपयोग क्यों करें

  5. MySQL डेटाबेस में पंक्तियों को सम्मिलित करने का सबसे कारगर तरीका