3

MySQL で UPDATE JOIN クエリを実行しようとしています。

次のことを行う必要があります: 特定のセッションで、table_1.won を table_2.total_owneds に追加します。

+++ Table_1 +++

--id--  --name--  --selection--  -potential_winnings--   -- won --  --session--
  1       John          a              67                    0           1
  2       Jame          b              10                    **10**      1
  3       David         c              43                    0           1
  4       Sam           b              20                    **20**      1
  5       Alex          b              30                    **30**      1
  6       Rob           b              1000                  0           2


 +++ Table_2 +++  (BEFORE)

--id--   --Total_winnings--   -- session --
  1              4534               1
  2              885                1
  3              0                  1
  4              5                  1
  5              10                 1
  6              5465               2

私の望ましい出力は以下のとおりです

入力:当選選択=bセッション=1

 +++ Table_2 +++  (AFTER)

--id--   --Total_winnings--   -- session --
  1              4534               1
  2              **895**            1
  3              0                  1
  4              **25**             1
  5              **40**             1
  6              5465               2

これを行うには、勝った table_1 から各ユーザーを選択し、table_2 のエントリをループしますが、処理するアイテムが多数あるため、これを達成するには何らかの結合が必要だと思います..

私は現在やっています

UPDATE table_2 SET Total_winnings = Total_winnings + 10 WHERE id = 2 AND session = 1

誰かがこれを行う方法を知っているか、最も役立つ SQL 結合と UPDATE クエリの簡単な例を持っている場合。これの他の例を見たことがありますが、SQLで何が起こっているのかわかりません!!

4

1 に答える 1

7

このようなものを探していますか?

UPDATE table_2
join table_1 on table_1.id = table_2.id
SET Total_winnings = Total_winnings + won
WHERE session = 1 and selection = 'b'
于 2013-07-14T12:44:16.910 に答える