SQL一个条件或另一个条件

时间:2017-01-12 16:38:02

标签: sql

如果我的一个条件成立,我希望我的SQL查询只给我结果。

因此,例如在此查询中,即使有munchen city结果,我也只想要柏林的结果。

SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');

如果一个或两个语句都为真,则SQL中的OR语句会起作用,所以我只希望它在on或另一个上。 简单的问题,但我仍然无法想到答案。 我希望将这一切保留在一个查询中,因此问题,我知道我可以编写另一个单独的查询

编辑 抱歉,如果有柏林结果请求,然后不选择munchen结果,无论有没有,但如果有munchen结果,那么不选择柏林结果,无论是否有任何。 我基本上都有搜索框,要么搜索特定的城市,要么搜索在一段时间内添加的所有城市,所以只想使用一个查询。

提前致谢

1 个答案:

答案 0 :(得分:0)

根据评论

与Heinzi一起解释你的问题
  

如果没有来自柏林的客户,请列出来自慕尼黑的客户。只要至少有一位来自柏林的客户,就不应该出现来自慕尼黑的客户。

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