我需要满足两个条件才能从表中选择数据,然后满足单独的第三个条件。 我似乎遇到的问题是,在检查第三个标准之前,我似乎无法将第一个标准"分组"(因为缺乏更好的术语(。
select *
from locations
where (town <> '2' and name <> 'south park') and report_number = 12345;
城镇和名称条件需要合并,因为我在城镇#1中也有"南方公园"的名称,我确实想将该记录与#2镇中不是"南方公园"的所有内容一起拉动。
我能够通过执行以下操作来解决它(但非常粗略(:
select *
from locations
where (town || name <> '2south park') and report_number = 12345;
第一个查询删除了城镇 2 中的所有内容以及报告 12345 中的所有"南方公园"名称
第二个有效,但我希望有更好的方法来编写此查询。
我认为你想要的逻辑使用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;