2011-09-08 80 views
-1

假设我有一个表table1和另一个表table2。两者都有相同的列名称“说明”。 table1在描述列中有一些数据,而table2没有(null)数据。那么我怎样才能将table1中的数据更新到table2描述列?他们有一列在两者中都有相同的值,也是独一无二的。任何想法?Sqlite查询帮助

+0

表中还有其他的列吗?你添加到table2的描述是否需要链接到表中的特定ID? – ipr101

+0

是的,这两个表中都有一个相同且具有唯一值的id。我也编辑了我的问题。 –

回答

0

这将工作提供了关键的是独特的:

UPDATE db2.table2 SET description = (SELECT table1.description FROM db1.table1 AS table1 WHERE table1.id = db1.table2.id) 
+0

我给这两个表的别名,但它显示error.Is有任何禁止在更新的情况下给别名。 –

+0

@Android Power:你不能给你在UPDATE中更新的表提供一个别名。用它自己的名字引用它,如果你需要子选择中的同一个表,那么在那里使用别名。 – Benoit

+0

我的问题是两个表中的2个不同的数据库。我正在更新表,但它是抛出异常。 –

0

试试这个:

update t1 set b=(select b from t2 where a=t1.a); 

其中b是描述和a是匹配值。