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

2 डीबी टेबल से क्वेरी परिणाम प्राप्त करना, भले ही दूसरी तालिका में कोई संबंधित प्रविष्टि न हो

ओपी ने कहा:

समस्या यह है कि where क्लॉज परिणाम सेट को फ़िल्टर करता है, इसलिए req.status . के लिए आपका परीक्षण जहां req.status . 2 या 5 में से कोई भी चीज बाहर फेंक देती है शून्य है क्योंकि कोई भी पंक्ति तालिका से मेल नहीं खाती applications

सामान्य, सैद्धांतिक (चूंकि एक मामूली कार्यान्वयन के अलावा कुछ भी वास्तव में ऐसा कुछ भी नहीं करेगा) select के लिए संचालन का क्रम कथन है:

  • from . में सूचीबद्ध प्रत्येक तालिका का पूर्ण कार्टेशियन उत्पाद तैयार करें खंड।
  • फ़िल्टर करें कि निर्दिष्ट join . को लागू करके मानदंड और हटाई गई पंक्तियाँ जो निर्दिष्ट परीक्षण पास नहीं करती हैं।
  • where में निर्दिष्ट फ़िल्टर मानदंड लागू करें क्लॉज, उन पंक्तियों को हटाना जो निर्दिष्ट परीक्षणों को पास नहीं करते हैं।
  • परिणामों को group by में निर्दिष्ट भावों पर सेट करें खंड और विभाजन परिणाम समूहों में सेट करें।
  • सभी निर्दिष्ट समग्र कार्यों के मूल्य की गणना करते हुए, ऐसे प्रत्येक समूह को एक पंक्ति में संक्षिप्त करें।
  • परिणामों के उन सभी स्तंभों को हटा दें जो select . में सूचीबद्ध नहीं हैं स्टेटमेंट कॉलम लिस्ट।
  • इस अंतिम परिणाम को order by में निर्दिष्ट कॉलम/अभिव्यक्तियों द्वारा सेट करें खंड।

आप दो में से एक काम कर सकते हैं:

  • शून्यता के परीक्षण के लिए अपनी क्वेरी बदलें:

    where...( req.status is null OR req.status in (2,5) )...
    
  • req.status . पर परीक्षण को आगे बढ़ाएं शामिल होने के मानदंड के अनुसार:

    left join requests req on req.app_id =  apps.id
                          and req.uid    =  {$user_id}
                          and req.status in (2,5)
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ClusterControl वर्चुअल IP को कैसे कॉन्फ़िगर करता है और विफलता के दौरान क्या अपेक्षा की जाती है

  2. ऐप इंजन और MySQL

  3. MySQL 5.6 DATETIME मिलीसेकंड/माइक्रोसेकंड स्वीकार नहीं करता

  4. सूची में mysql केवल सूची में पहली आईडी मान्य करता है। शायद एक बूँद मुद्दा

  5. MySqli:क्या डेटाबेस बनाना संभव है?