2011-09-08 3 views
-1

Supposons que j'ai une table table1 et une autre table table2. Les deux ont le même nom de colonne dire "description". table1 a des données dans la colonne de description et table2 n'a pas de données (nulles). Alors, comment puis-je mettre à jour les données de la table1 dans la colonne de description de table2? .Ils ont une colonne qui a les mêmes valeurs dans les deux et unique aussi. une idée?Sqlite Aide à la requête

+0

Quelles autres colonnes figurent dans les tables? Les descriptions que vous ajoutez à table2 doivent-elles être liées à un ID spécifique dans le tableau? – ipr101

+0

Oui, il y a un id dans les deux tables qui sont identiques et ayant des valeurs uniques. J'ai édité ma question aussi. –

Répondre

0

Cela fonctionnera à condition que la clé est unique:

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

Je donne un nom d'alias aux deux tables, mais il montre une erreur. Y at-il une interdiction de donner un nom d'alias en cas de mise à jour. –

+0

@Android Power: Vous ne pouvez pas donner un alias à la table que vous mettez à jour dans un UPDATE. Reportez-vous à lui en utilisant son propre nom, et si vous avez besoin de la même table dans les sous-sélections, utilisez des alias. – Benoit

+0

Mon problème est que les deux tables dans 2 bases de données différentes.Je suis mise à jour de la table, mais il lance exception. –

0

Essayez ceci:

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

b est la description et a est la valeur correspondante.