Select 查询产生相同记录的重复结果 (Access 2010)
Select Query producing duplicate results of the same records (Access 2010)
我有一个 select 查询,它是我在查询设计工具的 SQL 视图中设计的。在我的一些结果中,我发现了相同记录的重复项。因为 table 中没有倍数,只有查询(相同的主键)。这是原始查询。
SELECT t1.*
FROM Inventory AS t1 INNER JOIN Inventory AS t2 ON
t1.Part_ID = t2.Part_ID WHERE (t1.Inventory_ID<>t2.Inventory_ID);
我的目标是查询 Inventory
具有相同 Part_ID
(FK) 但不同 Inventory_ID
(PK) 的记录。 part_ID
(FK) 和 location_ID
(FK) 之间有一个组合键,如果有任何区别的话。
此后我将此查询更改为:
SELECT DISTINCT t1.*
FROM Inventory AS t1 INNER JOIN Inventory AS t2 ON t1.Part_ID = t2.Part_ID
WHERE (t1.Inventory_ID<>t2.Inventory_ID);
这会删除重复记录,但是,我认为我的原始查询不会产生重复数据结果。我担心这表明我的 tables?
有问题
我的 table 如下所示:
谢谢
问题是您可能在 select 的 INNER JOIN 端多次出现 part_ID。因此,如果在其他 2 个位置存在具有相同 part_ID 和不同 inventory_ID 的部分,您将得到重复项。
要检查这一点,您可以对一些重复项进行测试,或者在查询的 INNER JOIN 端使用 GROUP BY 指令重写您的原始查询。
我有一个 select 查询,它是我在查询设计工具的 SQL 视图中设计的。在我的一些结果中,我发现了相同记录的重复项。因为 table 中没有倍数,只有查询(相同的主键)。这是原始查询。
SELECT t1.*
FROM Inventory AS t1 INNER JOIN Inventory AS t2 ON
t1.Part_ID = t2.Part_ID WHERE (t1.Inventory_ID<>t2.Inventory_ID);
我的目标是查询 Inventory
具有相同 Part_ID
(FK) 但不同 Inventory_ID
(PK) 的记录。 part_ID
(FK) 和 location_ID
(FK) 之间有一个组合键,如果有任何区别的话。
此后我将此查询更改为:
SELECT DISTINCT t1.*
FROM Inventory AS t1 INNER JOIN Inventory AS t2 ON t1.Part_ID = t2.Part_ID
WHERE (t1.Inventory_ID<>t2.Inventory_ID);
这会删除重复记录,但是,我认为我的原始查询不会产生重复数据结果。我担心这表明我的 tables?
有问题我的 table 如下所示:
谢谢
问题是您可能在 select 的 INNER JOIN 端多次出现 part_ID。因此,如果在其他 2 个位置存在具有相同 part_ID 和不同 inventory_ID 的部分,您将得到重复项。
要检查这一点,您可以对一些重复项进行测试,或者在查询的 INNER JOIN 端使用 GROUP BY 指令重写您的原始查询。