2014-11-03 74 views
1

我有以下表格:雙重結果與雙JOIN在MySQL

產品

  • 字段:ID,標題
  • 值:(1, '產品1')

表1

  • 字段:ID,idProduct
  • 值:(1,1),(2,1)

表2

  • 字段:ID,idProduct
  • 值: (3,1),(4,1)

而下面的查詢:

SELECT 
    p.*, 
    GROUP_CONCAT(t1.id ORDER BY t2.id), 
    GROUP_CONCAT(t2.id ORDER BY t2.id) 
FROM 
    products p 
JOIN table1 t1 ON p.id=t1.idProduct 
JOIN table2 t2 ON p.id=t2.idProduct 
GROUP BY 
    p.id 

預期的結果是:

1 | Product 1 | 1,2  | 3,4 

不幸的是我得到:

1 | Product 1 | 1,1,2,2 | 3,3,4,4 
+0

見http://stackoverflow.com/問題/ 8872351/mysql的組-CONCAT上雙聯接 – AlexL 2014-11-03 17:57:33

回答

4

您需要添加DISTINCT:

​​