पहले शर्त की गणना करें, फिर इसे अंतिम SELECT
पर लागू करें CASE
. का उपयोग करके . कुछ इस तरह:
with temp (validexists) as
(select count(column1)
from table1
where column1 in ('Yes')
and column2 not like '%Yes%'
)
select *
into l_row
from table1
where column1 in ('Yes')
and column2 in (select column2
from table1 cross join temp
where column1 in ('Yes')
and column2 not like case when validexists = 0 then '%Yes%'
else '%No%'
end
);