我有下表称为Attributes
* AttId * CustomerId * Class * Code *
| 1 | 1 | 1 | AA |
| 2 | 1 | 1 | AB |
| 3 | 1 | 1 | AC |
| 4 | 1 | 2 | AA |
| 5 | 1 | 2 | AB |
| 6 | 1 | 3 | AB |
| 7 | 2 | 1 | AA |
| 8 | 2 | 1 | AC |
| 9 | 2 | 2 | AA |
| 10 | 3 | 1 | AB |
| 11 | 3 | 3 | AB |
| 12 | 4 | 1 | AA |
| 13 | 4 | 2 | AA |
| 14 | 4 | 2 | AB |
| 15 | 4 | 3 | AB |
其中每一个Class
,Code
配对代表一个特定的Attribute
。
我正在尝试编写一个返回所有customers
未链接到pairingAttribute
的查询Class = 1, Code = AB
。
这将返回Customer Id
值 2 和 4。
我开始写Select Distinct A.CustomerId From Attributes A Where (A.Class = 1 and A.Code = 'AB')
,但当我意识到我正在写一个SQL
查询并且在括号前没有可用于表示不能满足子句的运算符时停止了。
我错过了什么?或者我应该看哪个运营商?
编辑:
我正在尝试编写一个查询,该查询仅返回那些Customers
(即不同的客户 ID)与Attribute
配对没有链接的查询Class = 1, Code = AB
。
这只能是Customer Id
值 2 和 4,因为表不包含行:
* AttId * CustomerId * Class * Code *
| x | 2 | 1 | AB |
| x | 4 | 1 | AB |
将标题更改为:
如何在 Sql Query 中编写“Where Not(a=x and b=x)”
到:
如何编写 Sql 查询以查找从未满足以下“Where Not(a=x and b=x)”的不同值
由于之前的标题本身就是一个问题,但是问题的细节增加了一个额外的维度,导致了混乱。