2017-03-16 11 views
1

(user_tranz)の値を集計しようとしています。別のテーブル(ユーザ)に更新/1つのMySQLテーブルの値を別のテーブルに基づいて更新します。

1-ユーザー:

id  coin buy added free pay_later renewed pro 
=========== ==== ===== ====== ==== =========== ========== === 
      1 0  0  0  0  0   0  0 
      2 0  0  0  0  0   0  0 
      3 0  0  0  0  0   0  0 

2- user_tranz:

これら2 MySQLのテーブル構造を有するuser_tranz に見出さユーザの(IDに基づきます
id (AI)  user_id coin buy added free pay_later renewed pro 
========== =========== ==== ===== ====== ==== =========== ========== === 
     99   1 10 5  10  10  20   50  100 
     98   2 5 5  10  10  20   50  10 
     97   3 5 5  10  10  20   50  25 
     96   3 0 0  10  10  20   50  10 
     95   3 10 5  0  0  20   50  5 
     94   2 10 5  10  10  20   50  10 

は、これまでのところ私は(LEFT COALESCE()との結合)がこのような何かによって行うことができます知っているが、私は一度

結合を使用して、ストア倍数より値の集合を取得する方法がわかりません

期待される結果:このことについて

Users: 
    id  coin buy added free pay_later renewed pro 
=========== ==== ===== ====== ==== =========== ========== === 
    1  10 5  10 10  20   50  100 
    2  15 10 20 20  40  100  20 
    3  15 10 20 20  60  150  40 
+0

どのような種類の*結果*をお考えですか? –

+0

@TamasRev - 追加質問に期待される結果 –

答えて

0

方法:

UPDATE users u 
SET u.coin = (
    SELECT SUM(ut.coin) 
    FROM user_tranz ut 
    WHERE ut.user_id = u.id 
), ... 

サブクエリを使用して、更新クエリに挿入する値を決定できます。

関連する問題