表一(作者表)我有3個表如何加入他們生成一個表?
author_id author_name
表B(後表)
post_id author_id
表C(收益表)
post_id (post id is not unique) post_earning
我想生成一個報告由盈利每位作者。
author_id author_name total_earning (sum of earnings of all the posts by author)
SQL查詢中使用:
SELECT
a.author_id,
a.author_name,
sum(post_earnings) as total_earnings
FROM TableA a
Inner Join TableB b on b.author_id = a.author_id
Inner Join TableC c on c.post_id = b.post_id
Group By
a.author_id,
a.author_name
我得到的結果是這樣的:
ID user_login total_earnings 2 Redstar 13.99 7 Redleaf 980.18 10 topnhotnews 80.43 11 zmmishad 39.27 13 rashel 1248.34 14 coolsaint 1.66 16 hotnazmul 9.83 17 rubel 0.14 21 mahfuz1986 1.09 48 ripon 12.96 60 KHK 27.81
總營收的總和實際上是2863.22。但是,如果我添加結果表的所有值,我將得到2415.問題在哪裏?所使用的樣本表可以從第一條評論的鏈接中下載。
你是對的我在帖子表中缺席了一些帖子。 Sitepoint論壇的一位sql大師指出了這一點。感謝您的答覆。 – coolsaint 2010-10-19 18:42:56