求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) 
 不知道這樣行不行,沒試過