我需要满足两个条件才能从表中选择数据,然后满足单独的第三个条件。我似乎遇到的问题是,在检查第三个条件之前,我似乎无法将第一个条件(由于缺乏更好的用语)“分组”在一起。
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的所有内容和所有“南公园”的名称
第二个作品,但是我希望有一种更好的方式编写此查询。
我认为您想要的逻辑使用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;