mysql从另一个表更新一个列

时间:2015-05-11 08:07:03

标签: mysql

Table1:
id  name  value
===================
1   Jane   28
2   Joe    35

Table2:
id  name  value  integer
=========================
1   Jane    28      379
2   Joe     30      325
2   Joe     32      380
1   Jane    28      385

表1包含有关用户的信息:ID,名称和值 表2包含有关更改的信息:ID,名称,值和整数 整数是一个总是增加的值,每天变化两次。

我想将table1中的值传递给特定ID,将该值传递给table2,并将该值放在最后一行。

在这个例子中我想要 ID:2 价值:35 在表1中重新开始

ID:2 价值:32 在表2中。我需要以某种方式使用Integer ..

1 个答案:

答案 0 :(得分:0)

如果interger列在table2中告知最新信息,那么您可以使用update join作为

update table1 t1 
join table2 t2 on t1.id = t2.id 
join ( 
  select max(`integer`) as `integer`,id 
  from table2 
  group by id
)x 
on x.id = t2.id and x.`integer` = t2.`integer` 
set t1.value = t2.value 
where t1.id = 2 ;