petite requete sql

petite requete sql - SQL/NoSQL - Programmation

Marsh Posté le 07-04-2018 à 19:40:51    

Bonjour,
 
Je suis pas très doué en requête SQL donc je viens un peu m'eclaircir auprès de vous,
 
J'ai trois tables :  
 
Client : client_id, ... , client_indicatif_pays
Adresse : adresse_id, client_id, pays_id    (deux clés étrangères)
Pays : Pays_id, ..., pays_indicatif_pays
 
j'ai ma colonne client_indicatif_pays qui est vide, et je souhaiterai la remplir en fonction de l'indicatif pays du client, mais pour cela
il y a une table intermédiaire adresse qui me pose bien soucis !  
 
du coup ...  
je vois qu'il faut faire un : UPDATE client SET client_indicatif_pays = pays_indicatif_pays wHERE ....
 
J'admet en avoir essayé pas mal avant de vous demandé,  
 
en vous remerciant
 cdlt

Reply

Marsh Posté le 07-04-2018 à 19:40:51   

Reply

Marsh Posté le 07-04-2018 à 21:48:51    

Bonjour !
 
A vue de nez, et sans tenir compte des autres champs des tables, je dirais :  
 
update client set client_indicatif_pays = (select pays_indicatif_pays from pays, adresse where adresse.client_id = client.client_id and adresse.pays_id = pays.pays_id)
 
Mais je ne suis pas expert en SQL, il doit y avoir moyen de faire mieux, notamment la gestion des éventuels NULL.
 
Bonne continuation !


---------------
On n'est jamais très fort pour ce calcul !
Reply

Marsh Posté le 08-04-2018 à 22:52:01    

Code :
  1. UPDATE client,pays,adresse
  2. SET client.client_indicatif_pays = pays.pays_indicatif_pays
  3. WHERE client.client_id = adresse.client_id AND pays.pays_id = adresse.pays_id

Reply

Marsh Posté le 10-04-2018 à 20:22:06    

Merci beaucoups ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed