2010-08-19 8 views
0

Je sais que c'est presque là, mais la base me dit qu'il ne peut pas trouver une colonne appelée table1.id quand je sais que c'est là!Colonne introuvable erreur avec requête SQL simple

UPDATE table_2 SET col1 = (SELECT champ1 à partir de Table1 WHERE table2.id = table1.id) OÙ table1.id = table2.id

Répondre

2
UPDATE table2 SET col1 = (SELECT field1 FROM table1 WHERE table2.id = table1.id) 

Table1 est inconnu dans le SQL externe.

0

Ce que je reçois de votre recherche, cela fonctionnera

UPDATE table2 SET col1 = t1.field1 
FROM table2 t2 INNER JOIN table1 t1 ON t2.id = t1.id 
0

Au lieu d'utiliser une clause WHERE, essayez d'utiliser une clause INNER JOIN. Il est en effet en retard donc pardonnez-moi pour mon code haha ​​

UPDATE table2 
SET col1 = (SELECT field1 
      FROM table1 
      WHERE table2.id = table1.id) 
INNER JOIN table1 
ON table2.id = table1.id 
0

Option 1: Pas besoin d'avoir la clause WHERE externe.
Option 2: N'utilisez pas de requête interne de façon anormale. Utiliser Inner Join à la place