2012-03-13 10 views
0

をワークアウト、私は私の報酬システムのデータベースに次のテーブルがあります。購入と価格は別々のテーブルにある合計コスト

purchases =>Purchase_IDDatetimeReward_IDQuantityStudent_IDStudent_NameDate_DealtWithDate_Collected

rewards =>Reward_IDTitleDescriptionImage_URLDate_InactiveStock_CountCost_to_UserCost_to_System

私がしたいのは、は、購入した報酬の合計がです。たとえば、10ポイントの報酬を5ポイントで購入した場合は、の合計を表示したいと考えています。学生の費用はCost_to_Userフィールドです。

私は以前にこのコードを使用しようとしていた。

SELECT SUM( `purchases`.`Quantity`) * `rewards`.`Cost_to_User` AS `Total_Points_Spent` 
FROM `purchases` 
INNER JOIN `rewards` ON `purchases`.`Reward_ID` = `rewards`.`Reward_ID`" 

をしかし、各報酬は100ポイントの価値があると仮定しているようだ - 偶然rewardsテーブル内の最初の報酬は100ポイントのCost_to_Userを持っています。

答えて

1

だけCost_to_user後であることを第2のブラケットを移動:

select sum(purchases.Quantity * rewards.Cost_to_User) as Total_points_spent 

あなたは合計数量を見つけるのではなく

1

Cost_to_Userでグループ分けしていますか?

それ以外の場合は、合計の積の代わりに積の合計を計算します。

SELECT SUM( `purchases`.`Quantity` * `rewards`.`Cost_to_User`) AS `Total_Points_Spent` 
+0

行ごとに計算されたジョエルのおかげで - ちょうど彼のためKAJへの答え与えられたが言葉は私には少しだけ意味がありました。 – dunc

関連する問題