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

SQL - कई स्तंभों के आधार पर एक तालिका से दूसरी तालिका में रिकॉर्ड का मिलान करें

खराब डीबी डिज़ाइन, लेकिन, यह मानते हुए कि आपको इसके साथ रहना होगा:

SELECT h.name
    FROM tblhobby h
        INNER JOIN tblavailable_hobby ah1
            ON h.hobby1 = ah1.available_hobby
        INNER JOIN tblavailable_hobby ah2
            ON h.hobby2 = ah2.available_hobby
        INNER JOIN tblavailable_hobby ah3
            ON h.hobby3 = ah3.available_hobby

संपादित करें :नीचे दी गई टिप्पणियों में प्रस्तावित ट्विस्ट का जवाब देना।

SELECT h.name
    FROM tblhobby h
        LEFT JOIN tblavailable_hobby ah1
            ON h.hobby1 = ah1.available_hobby
        LEFT JOIN tblavailable_hobby ah2
            ON h.hobby2 = ah2.available_hobby
        LEFT JOIN tblavailable_hobby ah3
            ON h.hobby3 = ah3.available_hobby
    WHERE (h.hobby1 IS NULL OR ah1.available_hobby IS NOT NULL)
        AND (h.hobby2 IS NULL OR ah2.available_hobby IS NOT NULL)
        AND (h.hobby3 IS NULL OR ah3.available_hobby IS NOT NULL)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL/MariaDB:पिवट टेबल व्यू बनाएं

  2. MySQL अद्वितीय 1500 varchar फ़ील्ड त्रुटि (#1071 - निर्दिष्ट कुंजी बहुत लंबी थी)

  3. पास सूची<स्ट्रिंग> एसक्यूएल पैरामीटर में

  4. बिना शर्त के mysql जॉइन का उपयोग कैसे करें?

  5. MySQL में केवल डुप्लिकेट रिकॉर्ड चुनें और प्रदर्शित करें