JOIN mysql用于更新表

时间:2017-03-11 00:57:30

标签: mysql join

我在mysql中有两个表如下:

  

表-A

enter image description here

  

表-B

enter image description here

我需要将Table_B连接到Table_A,并将BalAmountLC的值添加到GLAccount等于的Table_A。我还需要将Table_A中不存在的其他GLAccount值更新为Table_A。

任何人都请告诉我哪种方法最好。我觉得我需要使用RIGHT JOIN。但我不确定。

我坚持使用以下查询:

SELECT Table_A.*,Table_B.*,Table_A.BalAmountLC+Table_B.BalAmountLC as sum FROM Table_A RIGHT OUTER JOIN Table_B ON Table_A.GLAccount=Table_B.GLAccount

感谢。

1 个答案:

答案 0 :(得分:2)

所以基本上你需要将Table_B中的所有GLAccount INSERT到Table_A,如果它没有在Table_A中退出的话。如果存在,则要将BalAmountLC添加到Table_A

 UPDATE Table_A INNER JOIN Table_B ON (Table_A.GLAccount = Table_B.GLAccount)
 SET Table_A.BalAmountLC = Table_A.BalAmountLC + Table_B.BalAmountLC;

 INSERT INTO Table_A SELECT Table_B.* FROM Table_B LEFT JOIN Table_A
 ON (Table_B.GLAccount = Table_A.GLAccount) WHERE
 Table_A.GLAccount IS NULL;