SQL是一个条件还是另一个条件
我希望我的SQL查询只在我的条件之一为true时提供结果 例如,在这个查询中,我只想要柏林的结果,即使有munchen city的结果SQL是一个条件还是另一个条件,sql,Sql,我希望我的SQL查询只在我的条件之一为true时提供结果 例如,在这个查询中,我只想要柏林的结果,即使有munchen city的结果 SELECT * FROM Customers WHERE Country='Germany' AND (City='Berlin' OR City='München'); SQL中的OR语句在一条或两条语句都为true时起作用,所以我只希望它为on或另一条。 这个问题很简单,但我还是想不出答案。 我想把这些都放在一个查询中,因此问题是,我知道我可以编写另一个
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');
SQL中的OR语句在一条或两条语句都为true时起作用,所以我只希望它为on或另一条。
这个问题很简单,但我还是想不出答案。
我想把这些都放在一个查询中,因此问题是,我知道我可以编写另一个单独的查询
编辑
抱歉,按照要求,如果有柏林结果,则不选择柏林结果,无论是否有。但是,如果有柏林结果,则不选择柏林结果,无论是否有柏林结果。
我基本上有一个搜索框,可以搜索特定的城市,也可以搜索在一段时间内添加的所有城市,所以我只想使用一个查询
提前感谢同意海因茨在评论中对您的问题所作的解释 如果没有来自柏林的客户,请列出来自慕尼黑的客户。只要至少有一位来自柏林的客户,就不应显示来自慕尼黑的客户
因此,例如在这个查询中,我只想要柏林的结果,即使有munchen city结果
…那么不要添加或city='München'
?如果我理解正确,您只想在没有柏林客户的情况下列出München的客户。只要至少有一位来自柏林的客户,就不应显示来自慕尼黑的客户。是这样吗?两个人倒下,一个人去:-)你能展示一些样本数据和你想要的结果吗?如果柏林有行显示柏林。如果柏林有0行显示Munchen?但正如你所说,这是@heinzi对问题的解释,不一定是op真正想要的
SELECT * FROM Customers
WHERE Country='Germany'
AND ((City = 'Berlin' AND NOT EXISTS (SELECT * FROM Customers WHERE Country='Germany' AND City = 'München'))
OR (City = 'München' AND NOT EXISTS (SELECT * FROM Customers WHERE Country='Germany' AND City = 'Berlin')))