from PURE_LN.CODE_AREA C, G_GA.G_GA_M T
where (case
when c.area_no = '-1' then
'1=1'
when c.area_no <> '-1' then
'2101'
end)
and c.area_no = t.area_no
如果c.area_no = '-1',形成的是where 1=1这样的查询,如果c.area_no <> '-1'则等于传进来的值。求解。
where (case
when c.area_no = '-1' then
'1=1'
when c.area_no <> '-1' then
'2101'
end)
and c.area_no = t.area_no
如果c.area_no = '-1',形成的是where 1=1这样的查询,如果c.area_no <> '-1'则等于传进来的值。求解。
where c.area_no = '-1' and c.area_no = t.area_no
union all
from PURE_LN.CODE_AREA C, G_GA.G_GA_M T
where c.area_no <> '-1 and 字段 = '2101' and c.area_no = t.area_no
化成逻辑表达式不就行了?from PURE_LN.CODE_AREA C, G_GA.G_GA_M T
where ( c.area_no = '-1' or 字段='2101'
)
and c.area_no = t.area_no