【问题标题】:SQL Server duplicate results to query after inner join [closed]内部联接后要查询的 SQL Server 重复结果 [关闭]
【发布时间】:2013-02-08 14:57:27
【问题描述】:

我有一个查询,我从 7 个表中调用。在我的查询中,我使用内部连接连接表。

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

我还尝试了一次又一次的 Group。你有什么建议吗?当您从具有外键的许多表中调用时,这是一个常见问题吗?

【问题讨论】:

  • 嗯...您向我们展示您的查询如何?
  • 您的某些表之间很可能存在一对多关系,这会导致出现重复的内容。如果没有看到您的表格和一些数据,这将是很困难的。
  • 你认为重复的东西不是。从每个连接的表中返回所有 clolumns,您很快就会明白为什么它们不是“真正的重复”
  • 那么您对 ​​XQbert 有什么建议?
  • @Equilibrium 如果我告诉你我的车坏了,希望你通过互联网修理它,你会怎么做?

标签: sql-server distinct


【解决方案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
        ...

【讨论】:

  • 谢谢!问题解决了。我的查询中有错误的连接。
猜你喜欢
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多