1

表 A 名称、地址、...、Item1、Item2、...、Item10

表 B 产品 ID

我想运行一条 SQL 语句(在访问中)以选择与表 B 中 [ProductID] 中找到的产品代码不匹配的任何项目([Item1] - [Item10])的所有记录。我正在尝试捕获所有错误在我将它导出到我们的库存软件之前的文件中,它找不到该项目,我们必须重新开始。

我一直在尝试进行 LEFT JOIN 工作,但没有成功。

4

1 回答 1

1

对于 [表 A]...

ID  Name   Item1     Item2     Item3   
--  -----  --------  --------  --------
 1  Name1  Product1  Product2  Product3
 2  Name2  Product2                    
 3  Name3  Product1  Product4          
 4  Name4  Product1  Produtc2  Product3

...和[表B] ...

ProductID
---------
Product1 
Product2 
Product3 

...查询...

SELECT * FROM TableA
WHERE IIf(IsNull(Item1), False, DCount("*", "TableB", "ProductID='" & Item1 & "'") = 0)
    Or IIf(IsNull(Item2), False, DCount("*", "TableB", "ProductID='" & Item2 & "'") = 0)
    Or IIf(IsNull(Item3), False, DCount("*", "TableB", "ProductID='" & Item3 & "'") = 0)

...产生:

ID  Name   Item1     Item2     Item3   
--  -----  --------  --------  --------
 3  Name3  Product1  Product4          
 4  Name4  Product1  Produtc2  Product3
于 2013-10-09T18:39:26.443 回答