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

SQL क्वेरी केवल डेटा वापस करने के लिए यदि सभी आवश्यक कॉलम मौजूद हैं और NULL नहीं हैं

आप exists का उपयोग कर सकते हैं . मुझे लगता है कि आपका इरादा है:

select t.*
from t
where exists (select 1
              from t t2
              where t2.id = t.id and t2.type = 'Purchase' and t2.total is not null
             ) and
      exists (select 1
              from t t2
              where t2.id = t.id and t2.type = 'Exchange' and t2.total is not null
             ) and
      exists (select 1
              from t t2
              where t2.id = t.id and t2.type = 'Return' and t2.total is not null
             );

इसे "सरल" करने के तरीके हैं:

select t.*
from t
where 3 = (select count(distinct t2.type)
           from t t2
           where t2.id = t.id and
                 t2.type in ('Purchase', 'Exchange', 'Return') and
                 t2.total 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. Oracle पर संस्करण योग्य दृश्य बनाएं

  2. Oracle के SEQUENCE.NEXTVAL के बराबर MySQL

  3. Oracle में तिथियों को कैसे प्रारूपित करें

  4. अखंडता बाधा (...) का उल्लंघन किया गया - चाइल्ड रिकॉर्ड मिला, जावा, ओरेकल, हाइबरनेट

  5. SQL क्वेरी में Oracle सहयोगी सरणी का उपयोग कैसे करें