在SQLite中,如何使用表B中列的值更新TABLE A中的列?
问题描述:
需要帮助,因为我没有运气。在SQLite中,如何使用表B中列的值更新TABLE A中的列?
表A
id groupid
1 100
2 101
3 102
表B
groupid newid
100 100
101 100
102 100
更新表A,使表A成为
id groupid
1 100
2 100
3 100
它使用表B获得newid的。提前
答
SQLite不支持
由于加入的更新,但是你可以使用子查询。尝试这样的事情:
update a
set groupid = coalesce(
(select newid from b where groupid = a.groupid limit 1),
groupid
);
如果你知道b中的每一行中只有一行,那么限制1和合并应该是不必要的。但比对不起更安全。 – 2011-05-04 01:20:31