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

इफ कंडीशन का उपयोग करना जहां क्लॉज

select * from sampleTable
where 
  case when @taxtype = 'P' then
    (taxtype = 'P' or  (taxtype = 'E' and code in ('MER','SER')))
  Else
    (taxtype = 'E' and code not in ('MER','SER'))
  end

ऐसा लगता है यह पोस्टर्स के साथ काम करेगा

संपादित करें:

मेरा मूल उत्तर छोड़ना क्योंकि सार काम करता है लेकिन Postgres में चर की अवधारणा नहीं है अन्य RDBMS की तरह इसलिए मैंने इसे इस रूप में फिर से लिखा

WITH myconstants as (SELECT 'P'::text as vtaxtype)

select * from sampleTable
where 
  case when (select vTaxType from myconstants) = 'P' then
    (taxtype = 'P' or  (taxtype = 'E' and code in ('MER','SER')))
  Else
    (taxtype = 'E' and code not in ('MER','SER'))
  end;

यह रहा एक SQL Fiddle दिखा रहा है कि



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL अनुक्रम जो एक अद्वितीय आईडी सुनिश्चित करता है

  2. हाइबरनेट के साथ देशी एसक्यूएल निष्पादित करें

  3. जहां क्लॉज का उपयोग करके PostgreSQL में jsonb कॉलम प्रकार में संग्रहीत JSON सरणी से किसी विशिष्ट JSON ऑब्जेक्ट को कैसे संशोधित या निकालें?

  4. अद्यतन करने योग्य दृश्यों के लिए CHECK क्लॉज

  5. SQLite काम करता है, लेकिन PostgreSQL माइग्रेट डेटाबेस ERROR का कारण बनता है - Django 3.0