SQL में, इस प्रकार की क्वेरी की आवश्यकता होती है जिसे EXCEPTION JOIN
. के रूप में जाना जाता है . कुछ RDBMS वास्तव में इसे एक अलग प्रकार (जैसे DB2) के रूप में लागू करते हैं, जबकि अन्य को वर्कअराउंड का उपयोग करने की आवश्यकता होती है। आपके मामले में, यह (एसक्यूएल में) के बराबर है:
SELECT User.*
FROM User
LEFT JOIN UserHouse
ON UserHouse.id_user = User.id
WHERE UserHouse.id_user IS NULL
जो उत्पन्न होगा अपेक्षित 'घर में नहीं' रिकॉर्ड।
इस साइट पर कई जगहों पर इसी तरह के उदाहरण हैं।
मैंने कभी भी सिद्धांत का उपयोग नहीं किया है, इसलिए मैं वहां आपकी मदद नहीं कर सकता। लेकिन मेरा सबसे अच्छा अनुमान कुछ इस तरह होगा:
addWhere('uh IS NULL')
या
addWhere('uh.id_user IS NULL')