感謝所有的答案,但我抓住問題 現在我有一個新的表order_file
users : id , name
order : id , price, user_id
order_file : id , file , order_id
用戶,訂單是一對多
秩序,order_file是一對多
一用戶約翰有1個訂單與價格是200 $ 和這個訂單鏈接到order_file與兩個記錄
SELECT *
FROM user u
INNER JOIN order o ON u.user_id = u.id
INNER JOIN order_file of ON of.order_id = o.id
WHERE u.name = 'John'
我們將在order_file
現在得到兩個rows.Only DIFF值獲得一次我使用DISTINCT,我也得到1行
SELECT DISTINCT *
FROM user u
INNER JOIN order o ON u.user_id = u.id
INNER JOIN order_file of ON of.order_id = o.id
WHERE u.name = 'John'
當時我SUM,哦啦啦,我得到400 $,而不是$ 200
SELECT DISTINCT *, sum(o.price)
FROM user u
INNER JOIN order o ON u.user_id = u.id
INNER JOIN order_file of ON of.order_id = o.id
WHERE u.name = 'John'
如何我可以得到extracty $ 200,不重複行:(
你應該問這個作爲一個單獨的問題。如果現有的答案是好的,你應該接受其中的一個。 – 2010-12-09 12:48:32