日期:2014-05-17  浏览次数:20839 次

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