加入mysql以更新表
mysql中有两个表,如下所示: 表A 表B 我需要将表B连接到表A,并将BalAmountLC的值添加到表A,其中GLAccount等于。我还需要将表A中不存在的其他GLAccount值更新到表A中 任何人请告诉我哪一个是最好的方法。我觉得我需要使用正确的连接。但我对此不确定 我无法回答以下问题:加入mysql以更新表,mysql,join,Mysql,Join,mysql中有两个表,如下所示: 表A 表B 我需要将表B连接到表A,并将BalAmountLC的值添加到表A,其中GLAccount等于。我还需要将表A中不存在的其他GLAccount值更新到表A中 任何人请告诉我哪一个是最好的方法。我觉得我需要使用正确的连接。但我对此不确定 我无法回答以下问题: SELECT Table_A.*,Table_B.*,Table_A.BalAmountLC+Table_B.BalAmountLC as sum FROM Table_A RIGHT OUTE
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
谢谢。因此,如果表A中不存在所有GLAccount,则基本上需要将表B中的所有GLAccount插入表A。如果存在,则需要将BalAmountLC添加到表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;
因此,如果表A中没有GLAccount,则基本上需要将表B中的所有GLAccount插入表A。如果存在,则需要将BalAmountLC添加到表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;
谢谢你的回答。你救了我一天:)谢谢你的回答。你救了我一天:)