Ms access 访问查询以计数不喜欢的事务

Ms access 访问查询以计数不喜欢的事务,ms-access,Ms Access,我正在尝试创建一个访问查询来统计所有不包含字符(V)的不同事务。我的数据如下所示: Transaction Number 997 997 998 998 998 999 999(V) 我希望得到的最终结果是“2”(997和998),因此我可以消除这两条记录(999和999(V))。我在考虑计算所有行,然后减去所有包含(V)但不能选择(V)的行。这是我的查询,它始终给我0,而不是1: SELECT COUNT(*) AS C FROM (SELECT DISTINCT [

我正在尝试创建一个访问查询来统计所有不包含字符(V)的不同事务。我的数据如下所示:

Transaction Number
997
997
998
998
998
999
999(V)
我希望得到的最终结果是“2”(997和998),因此我可以消除这两条记录(999和999(V))。我在考虑计算所有行,然后减去所有包含(V)但不能选择(V)的行。这是我的查询,它始终给我0,而不是1:

SELECT     COUNT(*) AS C
FROM         (SELECT DISTINCT [Transaction Number]
                   FROM          [Product History]
                   WHERE      ([Transaction Date] = #7/6/2011#) AND ([Transaction Number] LIKE '*V*')) T
感谢您的帮助


谢谢

有几种方法可以做到这一点。我选择使用
LEFT JOIN/IS NULL
您也可以使用
不在
不存在

密钥正在加入
ph1.[交易编号]&“(V)”=ph2.[交易编号]

SELECT COUNT ([Transaction Number]) as C
  FROM (SELECT  DISTINCT ph1.[Transaction Number]
        FROM  [Product History] ph1
                            LEFT JOIN [Product History] ph2
                            ON ph1.[Transaction Number] & '(V)' = ph2.[Transaction Number] 
                             WHERE     
                               ph1.[Transaction Date] = #7/6/2011#
                               and ph1.[Transaction Number] NOT LIKE '%V%'
                               and ph2.[Transaction Number] is null) t;
哪个输出

C           
----------- 
2  

谢谢你的回复。我尝试了使用LIKE和NOT-LIKE语句,但对于包含(V)的单个记录,无法获得count=1。我总是得到0分。我可以使用NOT LIKE得到不同记录的计数4,但是现在我想得到V记录,从之前的计数中减去它,顺便说一下,这不是我想要的数字,因为这将得到3。换句话说,V的意思是(作废),所以我想知道我有多少交易没有作废,所以我不能把999算作交易,因为它是用999(V)作废的。哇!!我已经为这个问题“斗争”了几个小时,我甚至还没有接近!非常感谢你!!!它完全符合我的要求。我希望有一天能报答你=0)