Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL是一个条件还是另一个条件_Sql - Fatal编程技术网

SQL是一个条件还是另一个条件

SQL是一个条件还是另一个条件,sql,Sql,我希望我的SQL查询只在我的条件之一为true时提供结果 例如,在这个查询中,我只想要柏林的结果,即使有munchen city的结果 SELECT * FROM Customers WHERE Country='Germany' AND (City='Berlin' OR City='München'); SQL中的OR语句在一条或两条语句都为true时起作用,所以我只希望它为on或另一条。 这个问题很简单,但我还是想不出答案。 我想把这些都放在一个查询中,因此问题是,我知道我可以编写另一个

我希望我的SQL查询只在我的条件之一为true时提供结果

例如,在这个查询中,我只想要柏林的结果,即使有munchen city的结果

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')))