我已经写了下面的查询,但我在结果中收到多个重复的行,请问任何人都可以看到我出错的地方吗?
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
答案 0 :(得分:0)
这并不重要,但你没有使用INNER JOIN
。无论如何,您的意外行表明您的JOIN
条件不够具体,无法返回预期的输出。如果您的结果完全重复,则可以使用SELECT DISTINCT
,如果您想了解获得这些重复项的原因,可以使用SELECT *
查看多行之间的完整详细信息。使用您的JOIN
条件返回,这可以帮助您更准确地使用您的条件,或者向您显示您在JOIN
中使用的某个表格中有重复记录。
使用示例数据,我们可以更多地剖析问题,但是一旦您看到行重复的原因,您就不需要它。