Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2472 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Update d'un champ avec valeur sur une autre DB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Update d'un champ avec valeur sur une autre DB

n°2332079
tompouss
Petit chat
Posté le 18-04-2019 à 16:38:49  profilanswer
 

Bonjour,
 
dans MYSQL 5.7
j'ai une table (import_it) avec une colonne city remplie et une autre colonne postcode vide.
J'ai une autre table (zip_it) avec une colonne 'postcode' et une autre 'city', remplies avec les données qui vont bien.
 
on m'a demandé d'updater le champ postcode de la table "import_it" avec les postcode de zip_it en matchant champs city correpsondant dans les 2 tables
 
Donc je dois updater  le champ postcode vide d'import_it grace au champ postcode de zip_it si le nom de la ville correspond
 
Sachant que les 2 tables ne sont pas dans la même DB, mais je peux changer ca si besoin
 
 
Voici ma requete (je me demande s'il ne faut pas 2 alias pour les tables différentes) qui affiche une errer (1064)
 
 

Code :
  1. UPDATE import_it
  2. SET import_it.zip=db2.zip_it.postcode
  3. FROM db1.import_it_cleaning_zip AS import_it
  4. WHERE import_it.city IN(SELECT city FROM db2.zip_it)
  5. LIMIT 100


 
Question subsidaire: comment utiliser un LIKE dans le where au cas où le nom serait un peu modifié ?
LIKE IN ?
 
 
Merci pour votre aide  :hello:


Message édité par tompouss le 18-04-2019 à 21:23:50

---------------
collectionneur de pâtes thermiques
mood
Publicité
Posté le 18-04-2019 à 16:38:49  profilanswer
 

n°2332088
tompouss
Petit chat
Posté le 18-04-2019 à 21:26:59  profilanswer
 

UDPATE: je me suis résolu à faire ca en PHP et ca focntionne (encore heureux)
 
Mais ca m'interesserait de savoir si ca peut se faire en pur SQL également


Message édité par tompouss le 18-04-2019 à 21:27:15

---------------
collectionneur de pâtes thermiques
n°2332091
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2019 à 08:17:27  profilanswer
 

avec MATCH AGAINST peut-être à la place du like ? Ou alors avec un regexp.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2332105
tompouss
Petit chat
Posté le 19-04-2019 à 10:08:58  profilanswer
 

Est-ce qu'une requete dans ce style pourrait fonctionner ?
 
 

Code :
  1. UPDATE import_it_cleaned_zip SET zip = (SELECT zip_it.postcode FROM zip_it WHERE zip_it.city = import_it_cleaned_zip.city)


 
Avec celle-ci phpmyadmin me met:
 
SELECT return more than 1 row, et du coup ca ne marche pas
 
precision: les 2 tables sont maintenant dans la même db


Message édité par tompouss le 19-04-2019 à 10:11:16

---------------
collectionneur de pâtes thermiques
n°2332107
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2019 à 10:43:03  profilanswer
 

Et ça :
UPDATE import_it_cleaned_zip SET zip = zip_it.postcode WHERE zip_it.city = import_it_cleaned_zip.city


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2332111
tompouss
Petit chat
Posté le 19-04-2019 à 11:32:49  profilanswer
 

Je vais essayer ca merci :)


---------------
collectionneur de pâtes thermiques
n°2332119
tompouss
Petit chat
Posté le 19-04-2019 à 15:45:00  profilanswer
 

Ca marche pas,
il me met:
 
unknown column:
zip_it.city


---------------
collectionneur de pâtes thermiques

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Update d'un champ avec valeur sur une autre DB

 

Sujets relatifs
Prendre la valeur précédente quand donnée manquanteUPDATE sql avec calcul de la valeur à modifier
[ACCESS] Afficher une valeur selon une autre[résolu] Figer la valeur paramètre quand passé à une fonction
Récupérer une valeur suivant celluleafficher un mot si champ rempli
Détecter un changement de valeur dans un inputPassage de valeur d'un model à son viewmodel
Copier coller valeur sur deux feuille avec conditions 
Plus de sujets relatifs à : Update d'un champ avec valeur sur une autre DB


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR