2012-03-31 13 views
0

私はポイントシステムを持っており、それらを一緒に追加しようとしています。それらは2つの異なるテーブルにあり、サブクエリを使用して合計と合計を加算しています。両方のサブクエリはうまく動作しますが、それらを一緒に追加すると、予想よりもはるかに大きな数になります。 、私は問題が何であるかと思います2つの異なるテーブルから合計ポイントを加算する

SELECT (SUM(tbl_achieve.achieve_points)+SUM(tbl_assign.assign_points)) 
FROM 
(SELECT DISTINCT(tbl_achievements.achieve_id), tbl_achievements.achieve_points FROM tbl_achievements INNER JOIN tbl_studentachieve ON tbl_studentachieve.achieve_id = tbl_achievements.achieve_id AND tbl_studentachieve.student_ID = 8 AND tbl_achievements.achieve_cat = "main") as tbl_achieve, 

(SELECT DISTINCT(tbl_assignments.assign_id), assign_points FROM tbl_assignments INNER JOIN tbl_studentassign ON tbl_studentassign.assign_id = tbl_studentassign.assign_id WHERE tbl_assignments.assign_cat = "main" AND tbl_studentassign.student_id = 8 AND tbl_studentassign.assign_status = "submitted") as tbl_assign 

それは一緒に両方の行数を置くことである。ここでは

は私のクエリです。だから、10ポイントの2行を持つ代わりに、私は他のテーブルの番号のために10ポイントの10行を持っています。

何が不足している可能性がありますか?

答えて

0

これはあなたのデータベースについて何も知らなくても厳しいでしょう。 自分のdbに1

のSUM(feed_id)+ SUM(user_id)FROMイベントを選択し、それらの完全な行を1つの行として正しく追加します。それはあなたが望むものではないように思えますが、それはmySQLの予想される動作です。おそらくあなたが探しているもののより詳細な説明は、あなたが必要な場所にあなたを得るのに役立ちます。乾杯...