我在Android SQLite dbHelper中有两个表:
表#1:
itemName | PCS
---------+------
item1 | 5
item2 | 7
item3 | 3
和表#2:
itemName | PCS
---------+------
item2 | 2
item3 | 17
我需要更新表#1中的PCS列,将表#2中的所有PCS添加到表#1(总和(\
中我需要这个输出:
更新表#1:
itemName | PCS
---------+------
item1 | 5
item2 | 9
item3 | 20
您可以使用相关的子查询,该子查询从Table2
返回pcs
的值,并将其添加到Table1
pcs
的值:
update Table1
set pcs = pcs + coalesce((select pcs from Table2 where Table2.itemname = Table1.itemname), 0)
一种选择是通过使用INSERT OR REPLACE INTO
语句合并这些表的行:
INSERT OR REPLACE INTO Table1(itemName,PCS)
SELECT t1.itemName, COALESCE(t1.PCS,0)+COALESCE(t2.PCS,0)
FROM Table1 t1
LEFT JOIN Table2 t2 ON t2.itemName = t1.itemName;
前提是itemName
列定义为主键。
演示