3

我正在尝试在 MySQL 中执行 UPDATE JOIN 查询

我需要执行以下操作:将 table_1.won 添加到给定会话的 table_2.total_winnings

+++ 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 回答