如何从另一个表中获取值并计算它

时间:2013-09-18 18:35:09

标签: mysql sql

这就像一个投票系统,让我说我有2个mysql表,

firsttable
Name     Gold
Rafael   1
Fabio    1
Rooney   1

secondtable
Club       Golds
Manutd     0
Madrid     0
Barcelona  0

什么sql查询用rafael的黄金来更新马德里金币,所以拉斐尔的黄金将是0而马德里的黄金将是1.然后如果法比奥和鲁尼也将他们的黄金交给马德里,马德里的黄金将是3.请帮忙。

2 个答案:

答案 0 :(得分:1)

这样的东西?

UPDATE
  secondtable s INNER JOIN firsttable f
  ON s.Club = 'Madrid' AND f.Name='Rafael'
SET
  s.Golds = s.Golds + f.Gold,
  f.Gold = 0;

请参阅小提琴here

答案 1 :(得分:0)

以下是回答第一个例子的查询;希望你能从这里拿走它:

UPDATE secondtable, firsttable
SET secondtable.Golds = secondtable.Golds + firsttable.Gold, 
    firsttable.Gold   = 0 
WHERE firsttable.Name = 'Rafael' AND secondtable.Name = 'Madrid';