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

SQL WHERE क्लॉज में केस स्टेटमेंट

आपकी टिप्पणी से .

आप CASE . का उपयोग कर सकते हैं WHERE में स्टेटमेंट इस तरह:

SELECT count(enq_id) AS total, sum(purchase_amount) AS purchase
FROM temp_stock
WHERE purchase_date <> '0000-00-00'
AND purchase_date < '2012-08-01'
AND (    STATUS = 'Sold'
      OR STATUS = 'In Stock'
      OR STATUS = 'Ref')
AND CASE STATUS 
         WHEN 'Sold' 
         THEN delivery_date >= '2012-08-01'
         ELSE 1=1
    END

यहां आपको ELSE 1=1 . का उपयोग करना होगा . अन्यथा आपको वांछित परिणाम नहीं मिलेगा। अधिक स्पष्टीकरण के लिए देखें यह SQLFiddle



  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 में DATALENGTH () समतुल्य क्या है?

  2. SQLzoo जॉइन ट्यूटोरियल #13

  3. SQL त्रुटि (1215):विदेशी कुंजी बाधा नहीं जोड़ सकता

  4. जबकि($row =mysql_fetch_assoc($result)) - $row का अनुमान कैसे लगाएं?

  5. कोडइग्निटर जहां क्लॉज के साथ स्टेटमेंट का चयन करें