我有一张这样的桌子
第1列|第2列|第3栏|
01重型45重型
02.50 50
04的100的中间
我想要一个显示所有记录的结果,如果“ 第3列”中的“ 很重”中有“ 第2列”必须值大于50,并且如果“ 第3列”不是“ 重”,则“ 第2列”的值必须大于90
答案 0 :(得分:4)
您可以将逻辑直接转换为where
子句:
where (column3 = 'heavy' and column2 > 50) or
(column3 <> 'heavy' and column2 > 90)
答案 1 :(得分:1)
您可以使用case
/ when
:
select ...
where column2 > (
case column3
when 'heavy' then 50
else 90
end
)