Sql 内部联接上的重复结果

Sql 内部联接上的重复结果,sql,join,Sql,Join,我已经写了下面的查询,但是我在结果中得到了多个重复的行,请有人看到我哪里出错了吗 use Customers select customer_details.Customer_ID, customer_details.customer_name, metering_point_details.MPAN_ID, Agents.DA_DC_Charge from Customer_Details left join Metering_Point_

我已经写了下面的查询,但是我在结果中得到了多个重复的行,请有人看到我哪里出错了吗

       use Customers
     select customer_details.Customer_ID,
   customer_details.customer_name,
   metering_point_details.MPAN_ID,
   Agents.DA_DC_Charge

  from Customer_Details
   left join Metering_Point_Details
  on customer_details.customer_id = Metering_Point_Details.Customer_ID
 left join agents
 on customer_details.Customer_ID = agents.customer_id 

  order by customer_id

这并不重要,但您没有使用
内部联接。无论如何,意外的行表示您的
加入
条件不够具体,无法返回预期的输出。如果您的结果完全重复,您可以使用
SELECT DISTINCT
,如果您想了解获得这些重复结果的原因,您可以使用
SELECT*
查看使用
JOIN
条件返回的多行之间的完整详细信息,这将有助于您使您的条件更加具体,或者显示您在
联接中使用的某个表中有重复的记录


使用示例数据,我们可以进一步剖析问题,但很有可能,一旦您了解了行重复的原因,您就不再需要它了。

可能没有什么问题。取决于您的表结构、示例数据和未显示的预期输出每个字段是否重复?或仅来自特定表的字段。如果是后者,则表明可能意味着您在联接中的表之间只有一对多关系,并且在另一端有多条记录用于另一端的匹配记录。