我遇到了連接mysql的問題。加入mysql輸出
我有MySQL的3個表:
item_extend:
list_id item_id in_id out_id quantity
1 3 1 NULL 10
2 4 1 NULL 30
3 3 2 NULL 90
4 4 2 NULL 70
Additional_extend:
id add_id in_id out_id item_id quantity
1 2 1 NULL 3 20
2 2 2 NULL 3 80
progress_in:
in_id dates progress_id
1 2014-01-13 11:36:05 1
2 2014-01-17 10:14:13 1
我用這個代碼:
SELECT DISTINCT a.list_id, a.item_id, a.quantity AS x, b.add, b.quantity AS y
FROM item_extend a
JOIN additional_extend b ON a.item_id = b.item_id
JOIN progress_in d ON d.in_id = a.in_id
WHERE d.progress_id = "1"
LIMIT 0 , 30
,其結果是:
LIST_ID ITEM_ID X add_idý
1 3 10 2 20
1 3 10 2 80
3 3 90 2 20
3 3 90 2 80
但是預期的結果應該是:
LIST_ID ITEM_ID X add_idŸ
1 3 10 2 20
3 3 90 2 80
有人知道如何解決它?
結果中沒有重複的記錄。如果你比較所有的列,那麼最後一列有不同的值(20和80在前兩行中是不同的)。 –
請注意,沒有ORDER BY的LIMIT是非常沒有意義的 – Strawberry
你可以通過GROUP BY a.list_id來確定這是不是你想要的。 – NewInTheBusiness