Bonjour,
alors mon problème n'est pas très compliqué je l'expose :
Je refond la base de donnée d'une application, pour cette refonte, je me dois de récupérer les anciennes données.. jusque là pas de problème..
Il s'agit d'une application de hotline, j'ai hotline_appel qui se trouve être mon ancienne table, et appel qui se doit de prendre la relève, hotline_appel contient un champs "id_ext_mag" qui est l'id du tuple magasin de la table magasin.
Ce qu'il se passe c'est que pour ma nouvelle table, je ne veux pas l'id du magasin mais son matricule, donc je dois le piocher dans la bonne table grâce à l'id que me fournis l'ancienne..
Voici la requête que j'ai commencé à créer :
Le champs en gras étant celui qui m’intéresse, vous l'aurez compris en tant qu'expert de SGBD, que j’espère vous êtes, cette sous-requête me renvois forcement la liste intégrale des données correspondantes alors que je voudrais qu'elle me renvoie le matricule(num_strate) du magasin correspondant à l'enregistrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 INSERT INTO hotlinev2.appel(appel_date,appel_heure,appelant,cloture_date,cloture_heure,appel_mag) SELECT hotline.hotline_appel.date_appel AS appel_date, hotline.hotline_appel.heure_appel AS appel_heure, hotline.hotline_appel.contact AS appelant, hotline.hotline_appel.date_depanne AS cloture_date, hotline.hotline_appel.heure_depanne AS cloture_heure, (SELECT i1.num_strate FROM hotline.mag AS i1, hotline.hotline_appel AS i2 WHERE i1.id_mag = i2.id_ext_mag) AS appel_mag FROM hotline.hotline_appel
Est-ce une condition que je dois rajouter ou autre ? j'aimerai une piste et reste disponible pour toute information complémentaire.
PS : je n'ai pas mis la structure des tables car le soucis me semble assez explicite mais si il la faut, je la post dans l'immédiat.
Partager