连接MySQL中没有重复的同一个表

  • 本文关键字:同一个 MySQL 连接 mysql
  • 更新时间 :
  • 英文 :


我有一个表要根据条件多次连接。

输入图片描述

我有附加表截图,有超过10k+记录在表中。

我正在使用的查询

SELECT 
table.invoice_id,  
a1.product_price AS attr_val1,
a2.product_price AS attr_val2,
a3.product_price AS attr_val3,
a4.total_price AS attr_val4
FROM table
LEFT JOIN table a1 ON table.invoice_id=a1.invoice_id AND a1.product_id='7078'
LEFT JOIN table a2 ON table.invoice_id=a2.invoice_id AND a2.product_id='7071'
LEFT JOIN table a3 ON table.invoice_id=a3.invoice_id AND a3.product_id='7085'
LEFT JOIN table a4 ON table.invoice_id=a4.invoice_id AND a4.total_price='0'

我得到了重复的行

输入图片描述

期望结果低于

FAC-35072  |  59.98  | 209.94 | 14.90 | 341.80      

因为您正在从表(在您的案例中从table)中进行选择,因此结果将是表中的每条记录。

所以,当你有5条Invoice_ID="FAC-35072"记录时,你最终有5条记录

解决重复记录的一种方法是使用DISTINCT

相关内容

  • 没有找到相关文章

最新更新