求select语句,条件是分段可变的
在一条select语句中,可不可以实现条件可变的?
如果field1= '1 ' 那么field2> 100
如果field1= '2 ' 那么field2 <=100
------解决方案--------------------select * from
(
select field1,
case when field1= '1 ' then
case when field2> 100 then field2 end
when field1= '2 ' then
case when field2 <=100 then field2 end
end field2
from t4
) t
------解决方案--------------------select * from t
where (t.field=1 and field2> 100) or (t.filed=2 and field2 <=100)
不知道這樣行不行,沒試過