2011-07-04 23 views
2

私は3つのテーブル= "フォーラム" | "トピック" | "users" "forums"テーブルには "price"というフィールドがあります "topics"テーブルには "poster_id"フィールドがあります "users"テーブルには "group_id"というフィールドがあります 3つのテーブルは、フィールドが一般的な価格別フォーラムphp

をUSER_IDすべてのフォーラムは異なる価格を持って、例えば価格0.50 私は、唯一例えばユーザ でGROUP_IDと互換性のトピックからposter_id場合トピックのすべてを照会する、1をforum_idていますユーザーがメッセージを書いた場合は登録済み

質問の後、私はすべての登録ユーザーに彼が各フォーラムに投稿したトピック数を提示したい そして各フォーラムの価格に応じてすべての主題の一般価格を実行します。

例:

登録、書かれた3つの異なったフォーラムで3トピック

forum_id 1 = 0.50 $ 
forum_id 2 = 0.60 $ 
forum_id 3 = 0.10 $ 

結果:ない米国からの私の英語、イムについて申し訳ありません

username | earn $ 1.20 

;)

ありがとうございました!

+3

(英語mothertongueは米国の特権ではないとして;)) –

+0

私たちは、あなたのテーブルの構造だけでなく、あなたが使っているものをデータベースに関するより多くの情報が必要。最後に、実行しようとしたコードを表示します。 –

+0

@Damienしかし、私たちはそのような栄光のあるバージョンを持っています。オーストラリアに次ぐ...(実際には、イギリスとアメリカの両方の英語を尊重していますが、楽しんでいます) – cwallenpoole

答えて

0

このような何か:

SELECT `users`.`username`, SUM(`forums`.`price`) 
FROM `topics` 
LEFT JOIN `users` ON `topics`.`user_id`=`users`.`user_id` AND `users`.`group_id`=100 
LEFT JOIN `forums` ON `topics`.`user_id`=`forums`.`user_id` 
GROUP BY 2 
ORDER BY 1