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

शून्य बराबर पूर्णांक WHERE में क्यों होता है?

आप सही कह रहे हैं कि NULL cannot be equal to anything .
आप जो खो रहे हैं वह यह है कि NULL असमान नहीं हो सकता , या तो

NULL किसी भी चीज़ की तुलना में हमेशा NULL होता है . हाथ में समस्या यह है कि आपको LEFT JOIN . मिल गया है गलत। यह काम करना चाहिए:

SELECT v.user_id, v.version_id, vv.user_id
FROM   versions v
LEFT   JOIN versions_votes vv ON v.version_id = vv.version_id
                             AND vv.user_id = 39
WHERE  vv.version_id IS NULL
ORDER  BY v.created
LIMIT  1;

vv . के संदर्भ में आपके पास एक अतिरिक्त शर्त थी WHERE . में खंड:AND vv.user_id != 39 . शायद उम्मीद है कि NULL != 39 योग्य होगा, लेकिन ऐसा नहीं है। इस संबंधित उत्तर में अधिक विवरण:
बाएं जॉइन के साथ क्वेरी 0 की गिनती के लिए पंक्तियों को वापस नहीं कर रही है

मूल रूप से तीन तकनीक हैं ऐसा करने के लिए:
उन पंक्तियों का चयन करें जो अन्य तालिका में मौजूद नहीं हैं




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. इंडेक्स हिट करने के लिए date_part क्वेरी कैसे प्राप्त करें?

  2. विदेशी कुंजियों को बदलने के लिए इनहेरिट की गई तालिकाओं पर ट्रिगर का उपयोग करें

  3. REAL टाइप को NUMERIC में कैसे राउंड करें?

  4. PostgreSQL INSERT को एनम की एक सरणी में शामिल करें

  5. PostgreSQL में एक पूर्णांक को Enum में परिवर्तित करना