运行查询以查找基于表的唯一记录

时间:2014-06-09 08:17:34

标签: ms-access

我有一张表(tbl_finished_goods_Temp),其中包含以下记录;

STOCK_CODE
 5112120
 5112121
 5112132
 5112136
 5112176
 5112177
 5112235
 5112236
 5112237
 5112256

我有一个返回以下记录的查询(qry_get_rid_of_non_unique_codes);

StockCode      BomReference
 401006         5112177
 401006         5109094
 401006         5112236
 501377         5112120
 501376         5112120

我希望能够创建一个从qry_get_rid_of_non_unique_codes返回StockCodes的查询,其中StockCode的BomReference与tbl_finished_Goods_Temp中的STOCK_CODE字段匹配。

预期结果如下。

StockCode      BomReference
 501377         5112120
 501376         5112120

因为401006除了tbl_finished_goods_Temp之外还有其中的记录,所以它不会捡起它。

4 个答案:

答案 0 :(得分:0)

只需在BomRefernece = StockCode上使用表qry_get_rid_of_non_unique_codes加入查询tbl_finished_goods_Temp即可创建新查询。简单的INNER JOIN。

编辑2: 啊,好吧。在这种情况下,一种方法是这样的:

SELECT StockCode, BOMReference
FROM  qry_get_rid_of_non_unique_codes
WHERE StockCode NOT IN (
    SELECT StockCode FROM qry_get_rid_of_non_unique_codes WHERE BOMReference NOT IN (
        SELECT StockCode FROM tbl_finished_goods
    )
)

这些是您要删除的代码。

答案 1 :(得分:0)

由于@Roland正确地确定为INNER JOIN,所以您需要的是StockCode。

以下是查询:

SELECT StockCode 
FROM  tbl_finished_goods_Temp
INNER JOIN qry_get_rid_of_non_unique_codes 
ON    tbl_finished_goods_Temp.STOCK_CODE = qry_get_rid_of_non_unique_codes.BOMReference

答案 2 :(得分:0)

您可以使用以下查询:

SELECT StockCode 
FROM  tbl_finished_goods_Temp
INNER JOIN qry_get_rid_of_non_unique_codes 
ON    tbl_finished_goods_Temp.STOCK_CODE = qry_get_rid_of_non_unique_codes.STOCK_CODE

答案 3 :(得分:0)

自己解决;

SELECT qry_unique_components_Step3.StockCode, *
FROM qry_unique_components_Step3
WHERE (((qry_unique_components_Step3.StockCode) Not In (SELECT qry_unique_components_Step3.StockCode
FROM qry_unique_components_Step3 LEFT JOIN tbl_finished_Goods_Temp ON qry_unique_components_Step3.BomReference = tbl_finished_Goods_Temp.STOCK_CODE
WHERE  tbl_finished_goods_Temp.STOCK_CODE Is Null)));

无论如何,谢谢你的帮助。