SQL:从另一个表更新一个表

时间:2019-01-25 01:54:54

标签: sql

我只想用表X中的信息更新表Y。

因此,在此查询之后:

UPDATE y
SET y.Salary = x.salary
FROM x, y
WHERE x.ID_FK = y.ID 
  AND end >= (SELECT MAX(end) FROM x WHERE end >= '10-10-2005') 

我明白了:

表y

ID SALARY    
----------
1   1000    
2   1500    
3   2000

代替此:

ID    SALARY    
-------------
1      2000    
2       700    
3       350

以下是表格:

enter image description here

最后,我想编写一个查询,该查询可以使用表X中每个ID的最后一个字段来更新表Y。仅获取插入的最后一个信息。

我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:0)

UPDATE y
set y.Salary = x.salary
from x, y
where x.ID_FK = y.ID 
  and end >= (select max(t.end) 
              from x as t
              where t.end >= '10-10-2005'
                and t.ID_FK = x.ID_FK)