Page 1 sur 1

Remplir une table à partir des données d'une autre table

Posté : 18 sept. 2012, 10:24
par riless
Bonjour à tous,

j'aimerais savoir si c'est possible avec une requête SQL de faire ça, et si oui, quelle est la requête appropriée:

j'ai une table "A" contenant les colonne "codepostal" et "ville", et une table "B" contenant également "codepostal" et "ville", sauf que dans la table "B" la colonne "ville" est vide. je voudrais alors, avec une requête SQL, remplir toute les ligne de "B.ville" en tenant compte biensur de "B.codepostal" qui vas aller chercher la ville correspondante dans la table "A".

Donc en résumé, je voudrais remplir la colonne "ville" de la table "B" avec les valeurs correspondante.

merci

Re: Remplir une table à partir des données d'une autre table

Posté : 18 sept. 2012, 10:52
par nhachet
Bonjour,

aucun problème, il est possible de faire un update avec une jointure.
Ca donnerait quelque chose comme ça (non testé) :
UPDATE B
INNER JOIN A USING(codepostal)
SET B.ville = A.ville;

Re: Remplir une table à partir des données d'une autre table

Posté : 18 sept. 2012, 10:52
par xTG
Regardes du côté de UPDATE ... FROM ;)
On ne peut guère t'en dire plus sans connaitre le SGBD utilisé.

Re: Remplir une table à partir des données d'une autre table

Posté : 18 sept. 2012, 10:54
par Mazarini
Tu peux essayer :
update a,b set b.ville = a.ville where a.codepostal = b.codepostal
Edit : Un peu en retard et 1 code postal (69380 par exemple) correspond à plus d'une ville

Re: Remplir une table à partir des données d'une autre table

Posté : 18 sept. 2012, 11:36
par riless
Merci Mazarini, c'est exactement ce que je cherchait :)