如何将WHERE子句中的条件与AND(POSTGRES)合并

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

我需要满足两个条件才能从表中选择数据,然后满足单独的第三个条件。我似乎遇到的问题是,在检查第三个条件之前,我似乎无法将第一个条件(由于缺乏更好的用语)“分组”在一起。

select * 
from locations 
where (town <> '2' and name <> 'south park') and report_number = 12345;

[城镇和名称条件需要合并,因为我在#1城镇中也有一个“ south park”的名称,而我确实想将该记录与所有在#2城镇中不是“ south park”的内容一起使用。

我可以通过以下操作来解决(但很粗略):

select * 
from locations 
where (town || name <> '2south park') and report_number = 12345;

第一个查询消除了报表2345中镇2的所有内容和所有“南公园”的名称

第二个作品,但是我希望有一种更好的方式编写此查询。

sql postgresql where-clause multiple-conditions
1个回答
0
投票

我认为您想要的逻辑使用or,而不是and

where (town <> '2' or name <> 'south park') and 
      report_number = 12345;

您可能会发现以下更简单的用法:

where not (town = '2' and name = 'south park') and 
      report_number = 12345;
© www.soinside.com 2019 - 2024. All rights reserved.