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

riless
Invité n'ayant pas de compte PHPfrance

18 sept. 2012, 10:24

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

Eléphant du PHP | 127 Messages

18 sept. 2012, 10:52

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;

ViPHP
xTG
ViPHP | 7331 Messages

18 sept. 2012, 10:52

Regardes du côté de UPDATE ... FROM ;)
On ne peut guère t'en dire plus sans connaitre le SGBD utilisé.

ViPHP
ViPHP | 2577 Messages

18 sept. 2012, 10:54

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

riless
Invité n'ayant pas de compte PHPfrance

18 sept. 2012, 11:36

Merci Mazarini, c'est exactement ce que je cherchait :)