在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 
); 
+0

如果你知道b中的每一行中只有一行,那么限制1和合并应该是不必要的。但比对不起更安全。 – 2011-05-04 01:20:31