首页 > 解决方案 > 如何从下面过滤特定记录?

问题描述

我有一个表(Mytable),其值如下;

CustNo Audit   History   Inputter Authoriser

 1     CHANGE  CURRENT    XYZ      XYZ
 2     CHANGE  BEFORE     XYZ      XYZ
 2     CHANGE  CURRENT    TOM      TOM
 3     ADD     NEW        TOM      TOM

如果 Inputter 和 Authoriser 的值为 'XYZ' 且 Audit = 'CHANGE' 和 History = 'CURRENT',我只需要过滤掉记录,但是对于 Inputter 和 Authoriser 来说,它可以分别具有 Audit 和 History 作为 CHANGE 和 BEFORE 的值' XYZ' 等记录

我的预期输出如下:

CustNo Audit   History   Inputter Authoriser

 2     CHANGE  BEFORE     XYZ      XYZ
 2     CHANGE  CURRENT    TOM      TOM
 3     ADD     NEW        TOM      TOM

我使用了以下内容,但没有得到我例外的内容;

select * from Mytable
where  (Inputter != 'XYZ' and Authoriser != 'XYZ' and Audit != 'CHANGE' and History != 'CURRENT' )

有人可以纠正我,如何达到我的预期输出。提前致谢。

**请修改我的要求,以下是新的例外;**

现在在我现有的需求中需要添加另一个场景,下面是表格记录;

CustNo Audit   History   Inputter Authoriser

 1     ADD     NEW        Sasha    Sasha      
 1     CHANGE  BEOFRE     MAX      MAX
 1     CHANGE  CURRENT    XYZ      XYZ
 2     CHANGE  BEFORE     XYZ      XYZ
 2     CHANGE  CURRENT    TOM      TOM
 3     ADD     NEW        TOM      TOM
 3     CHANGE  CURRENT    MAX      MAX

如果任何输入者和授权者具有审计和'XYZ'历史记录,则应删除该记录(这是现有的工作)以及表中出现的任何相同记录。'CHANGE''CURRENT'custNo

例如,这里custNo = 1'XYZ'with 'CHANGE'& 'CURRENT',所以这应该与;一起删除

custNo = 1'CHANGE'&'BEOFRE''MAX'
custNo = 1'ADD'&'NEW''Sasha'

换句话说 - 删除任何出现的相同 CustNo 'XYZ'在 Inputter 和 Authoriser 字段中分别具有'CHANGE'&'CURRENT'在 Audit 和 History 字段中),而不管任何 Audit 和历史记录,即使该 cust'XYZ'在 Inputter 和 Authoriser中没有场地。

新的预期输出:

CustNo Audit   History   Inputter Authoriser

 2     CHANGE  BEFORE     XYZ      XYZ
 2     CHANGE  CURRENT    TOM      TOM
 3     ADD     NEW        TOM      TOM
 3     CHANGE  CURRENT    MAX      MAX

标签: sqlsql-servertsqlsql-server-2008

解决方案


而不是在条件下AND使用OR

演示

select * from Mytable
where  (Inputter != 'XYZ' or Authoriser != 'XYZ' or Audit != 'CHANGE' or History != 'CURRENT' )

输出:

Audit   History  Inputter   Authoriser
Change  before   xyz          xyz
Change  CURRENT  TOM          TOM
ADD       NEW    TOM          TOM

推荐阅读