我在mysql中有两个表如下:
表-A
表-B
我需要将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
感谢。
答案 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;