如何在WHERE子句中排除带有各自子值的多个值-SQL

问题描述

我正在尝试从特定值中排除某些子值。具体来说,我有一列对应于维护位置(即“ A”,“ B”,“ C” ...),另一列对应于那些维护位置的工作(即“ 05”,“ 06”, '07'...)。我想做的是排除某些地区的某些工作。

例如,假设我要除个位置“ D”,“ F”,“ R”之外的所有位置,并且我要排除工作“ 01”,这些中的“ 02”和“ 03”。因此where子句如下所示:

不存在的位置(位置不在“(D”,“ F”,“ R”)和工作在“(01”,“ 02”和“ 03”))

意思是,“不要给我D,F和R以外的位置,这些位置具有工作01、02和03。

由于某种原因,这不起作用。有人对此有解决方案吗?

谢谢!

Rene

解决方法

这是您想要的吗?

WHERE location NOT IN ('D','F','R') AND jobs NOT IN ('01','02','03')

这不包括位置D / F / R和作业01/02/03。

另一方面,如果要在D / F / R位置除01/02/03之外的所有作业,则:

WHERE NOT (location IN ('D','R') AND jobs IN ('01','03'))

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...