【发布时间】:2009-06-10 20:49:51
【问题描述】:
这是我正在处理的一个查询:
SELECT TBL_SUB_KEY AS port
, poe.[TBL_COMPANY]
, poe.[TBL_DIVISION_1]
FROM dbo.TMVKTAB AS poe
WHERE ( TBL_NUMBER = '8A' )
AND ( TBL_SUB_KEY <> '' )
AND ( poe.[TBL_COMPANY] <> '011'
AND poe.[TBL_DIVISION_1] <> '11'
)
我要返回的是 Company = '011'/Division_1' = '11' 中非的所有记录。
我认为在 () 中合并公司/部门可以实现这一点,但事实并非如此。它消除了所有公司“011”记录,并消除了所有部门“11”记录。
但是,当我这样做时:
SELECT TBL_SUB_KEY AS port
, poe.[TBL_COMPANY]
, poe.[TBL_DIVISION_1]
FROM dbo.TMVKTAB AS poe
WHERE ( TBL_NUMBER = '8A' )
AND ( TBL_SUB_KEY <> '' )
AND NOT ( poe.[TBL_COMPANY] = '011'
AND poe.[TBL_DIVISION_1] = '11'
)
它似乎得到了正确的结果。这是为什么呢?
【问题讨论】: