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 दिखा रहा है कि