SELECT JOIN文で作成したテーブルにあるカラムに合計(まあまあ実際は違い)を追加するのは苦労しています。私は(短い形式)持っているものをお見せしましょう、次に説明しますPHP MySQLの行合計値の結合テーブル
User Name Betting Site Home Team Away Team Wager Odds
Ridge LeoVegas Molde Tromso 1000 2.20
Ridge Nordic Bet Molde Tromso 3000 1.60
Ridge LeoVegas Aalesund Rosenborg 4000 1.30
Simon Comeon Aalesund Rosenborg 2000 1.40
ので、このテーブルは、サイト上で、関係するチーム、賭け金とゲームのオッズ、ユーザーが賭け履歴を示します。私は、JOIN/ONを使って、ユーザーテーブル、サイトテーブル、ゲームテーブルなどを組み合わせた非常に長いクエリを通じてこのテーブルを作成しました。
現在、私たちは賭博サイトテーブルに10の賭けサイトを持っており、各サイトの立場がどのようなものであるかを追跡しています。 ので、リッジのプロフィールページに、私はまた、テーブルを持っている:
Betting Site Deposit Bonus Rollover Rollover Remaining Days
LeoVegas 4000 4000 10 ? 30
Nordic Bet 4000 4000 6 ? 30
Comeon 3000 3000 12 ? 90
私は私の難しさを持っていますここ疑問符があります。あなたは、賭けのサイトとユーザーに合ったトップテーブルに記載されているすべての賭け金の合計を取ろうとしています。 JOINステートメント(と$ _GET変数)を使用して、特定のユーザーと特定の賭博サイトの情報のみを選択できます。しかし、SUMを正しく動作させることができません。これは私が動作させたい方法です:
ロールオーバー残量は、特定のサイトの((ボーナス*ロールオーバー) - 合計(賭))の計算です。
SELECT
b.betting_site_name,
b.deposit,
b.bonus,
b.odds,
b.rollover,
b.days,
u.wager,
(SELECT
SUM(wager) AS 'Total Risk'
FROM userbets AS ub
JOIN users AS u ON ub.userid = u.id
JOIN bonuses AS b ON ub.siteid = b.id
WHERE u.id = $id AND betting_site_name='$betsite') AS 'Total Rollover'
FROM bonuses AS b
LEFT JOIN userbets AS u ON u.siteid = b.id
LEFT JOIN users ON u.userid = users.id
WHERE users.id=$id AND betting_site_name='$betsite'
GROUP BY b.id;
が、問題は、それは関係なく、賭けサイトが何であるか、同じロールオーバー量を算出しないということですので、彼らはすべてのトップと同じです:
Ridge Robinson's Status
Betting Site Deposit Bonus Rollover Rollover Remaining Days
LeoVegas 4000 4000 10 35000 (*40000-5000*)30
Nordic Bet 4000 4000 6 21000 (*24000-3000*)30
Comeon 3000 3000 12 36000 (*36000-0*) 90
このは、私が試したものですLeoVegasのベットサイト。誰かが、その$行に記載された賭けサイトを使用するためにSUMをどのように使用することができるか知っていますか?私は(他にどこから来るのかはっきりしていませんが)ミスは私のSUM WHERE句から来ていますが、それ以外の特定の賭けサイトをどのように合計するかはわかりません。
おかげ
のおかげだと思います残念ながら、正しく動作しません。これは正しい情報を見つけることができません。内側のselectクエリに$ idと$ betsiteの$ _GET変数が必要なためです。私はあなたの 'inner_'エイリアスのロジックを取り除くことができるかどうかを見極めようとしていますが、まだこれと一緒に動作させる必要があります。 –