如果使用UPDATE语句在多列(Account,Account2)中具有相同的值,如何添加两列(金额,amount2)。即使帐户<>帐户2,我也希望保留所有行。另外,我只希望它们在两个列中分别为“帐户”和“金额”。我正在使用MS Access sql视图。 *我想更新表,而不仅仅是使用select语句*
例如:我只想在“帐户”和“帐户2”列匹配时添加“金额”和“金额2”列。
我希望结果最后只有两列,即“帐户”和加在一起的金额。
Account Amount Account2 Amount2
1234576 4 1234576 4
4444444 10 4564888 11
456789 2 456789 2
000000 1 1111111 6
答案 0 :(得分:0)
这是非规范化的表设计,我建议您改为调整设计,但这很容易实现:
UPDATE MyTable
SET [Amount] = [Amount] + [Amount2],
[Amount2] = Null,
[Account2] = Null
WHERE [Account] = [Account2]
然后,如果要在以下之后将帐户和金额移动到单列:
INSERT INTO MyTable(Account, Amount)
SELECT Account2, Amount2
FROM MyTable
WHERE Account2 IS NOT NULL Or Amount2 IS NOT NULL
然后,删除不必要的列
ALTER MyTable DROP COLUMN Account2, Amount2