JOIN mysql用于更新表

问题描述 投票:0回答:1

我在mysql中有两个表如下:

表-A

enter image description here

表-B

enter image description here

我需要将Table_B连接到Table_A,并将BalAmountLC的值添加到GLAccount等于的Table_A。我还需要将其他GLAccount值更新为Table_A,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

谢谢。

mysql join
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.