如何在where子句中使用case语句

问题描述 投票:0回答:1

我想在where子句中编写case语句,其中我想从table属性master中选择记录除了code ='2',如果请求类型作为procedure的输入是1我的过程语法是

create PROCEDURE test101 (IN request_type int)
begin
  select code from property_master where code=case when request_type=1 then code else 4 end;
end;

我想要这样的东西

select * from property_master where code=case when request_type=1 then code <> '2'

在那个request_type值中,我从存储过程中获取作为输入,所以我的意图是从表中选择除2之外的所有代码

mysql
1个回答
0
投票

看起来你只需要一些布尔逻辑,你可能需要使用括号来组合一些条件,例如:

select * from property_master
where code='1'
OR (request_type=1 AND code <> '2')
© www.soinside.com 2019 - 2024. All rights reserved.