Where子句 - 不像声明

时间:2017-04-26 11:59:22

标签: sql sql-server sql-server-2008

我得到一个声明,我得到了这样的where子句:

AND  (  (ROOT_CAUSE_CODE like 'X%' OR ROOT_CAUSE_CODE like 'D%') AND (SUMMARY_DESC like 'COMPLETE%' or SUMMARY_DESC like 'MULTIPLE%') and SERVICE_LEVEL='TOP' and SERVICE_AFFECTED='1'  ) 

现在我想创建第二个查询,其中我得到与第一个where子句的值完全相反的查询。所以我将使用相同的语句,但是使用where子句,它给出了所有的值,而不是第一个where子句?

我如何实现这一目标?

THX和BR 乔

1 个答案:

答案 0 :(得分:2)

如果我们假设没有列是NULL,那么相反的是:

AND NOT ( (ROOT_CAUSE_CODE like 'X%' OR ROOT_CAUSE_CODE like 'D%') AND
          (SUMMARY_DESC like 'COMPLETE%' or SUMMARY_DESC like 'MULTIPLE%') and
          SERVICE_LEVEL = 'TOP' and SERVICE_AFFECTED = '1'
       ) 

如果值可以是NULL,那么逻辑会更复杂。