Mysql 如何设置if结果下的where条件
我有四个不同的where条件 我从外部得到2个值(A,B) 如果A和B都为空 我想在“第一个位置”条件下选择行 如果A为null而B不是,则第二个where条件 如果A不为空,B为空,则第三个为空 如果A和B都不为空,则第四个为空 让我简单地给你看一下Mysql 如何设置if结果下的where条件,mysql,Mysql,我有四个不同的where条件 我从外部得到2个值(A,B) 如果A和B都为空 我想在“第一个位置”条件下选择行 如果A为null而B不是,则第二个where条件 如果A不为空,B为空,则第三个为空 如果A和B都不为空,则第四个为空 让我简单地给你看一下 select * from mytable if(A ==null and B == null) first where condition if(A == null and B != null) second where cond
select * from mytable
if(A ==null and B == null)
first where condition
if(A == null and B != null)
second where condition
......
我如何使用SQL来实现这一点呢?也许您可以使用用例子句,我想这对您来说会更容易。 这是你的问题的例子,我希望这段代码能帮助你
从mytable中选择*
其中名称=
如果A为空,B为空,则为“john”
当A为空且B不为空时,则为“doe”
...
结束代码>您希望满足的四组不同条件:
如果A和B都为空,并且
如果A为空,B为非空,并且
如果A不为空,B为空,并且
如果A和B都不为空,并且
可以这样表达:
WHERE (A IS NULL AND B IS NULL AND NAME = 'Fred')
OR (A IS NULL AND B IS NOT NULL AND NAME = 'Barney')
OR (A IS NOT NULL AND B IS NULL AND NAME = 'Wilma')
OR (A IS NOT NULL AND B IS NOT NULL AND NAME = 'Betty')
你可以参考[这个链接]()我想你可以在那里找到答案<代码>我有四个不同的where子句。
。。。SQL查询中只有一个WHERE
子句。不清楚你在这里问什么。我建议:在问题中看到“子句”的地方用“条件”一词代替