2013-02-22 71 views
-4

我有一个查询,我从7个表中调用。在我的查询中,我使用内连接来连接表。内部连接后查询SQL Server重复结果

问题是我有重复的结果。我想提一下,我的表中没有任何重复的记录。我尝试了不同的,但它没有帮助。

此外,我尝试与集团一次又一次它d。你有什么建议吗?当你使用外键从多个表中调用时,这是一个常见问题吗?

+5

那么......你如何向我们展示你的查询? – Kermit 2013-02-22 21:32:35

+1

您很可能在您的某些表格之间存在一对多关系,导致似乎重复的内容。没有看到你的表格和一些数据,这将是困难的。 – Taryn 2013-02-22 21:33:03

+1

你认为重复的东西不是。返回每个连接表中的所有列,你很快就会明白为什么它们不是“真正的重复” – xQbert 2013-02-22 21:40:01

回答

1

更改选择列表以显示查询中所有表的每个PK,查看并查看哪个PK值正在重复,这是您的重复。查看围绕该表的连接的查询。我敢打赌,你的加入是错误的,如下所示:

SELECT 
    a.PK, b.Pk, c.PK, D.pk ..... 
    FROM Table_A    a 
     INNER JOIN Table_B b ON a.col=b.pk 
     INNER JOIN Table_C c ON b.col=b.pk --<<look for a bad join like this 
     INNER JOIN Table_D d ON c.col=d.pk 
     ... 
+0

谢谢!问题解决了。我的查询中有不好的连接。 – Equilibrium 2013-02-22 23:17:25