Bonjour
Tout d'abord, mon travaille est d'importer des donnees de MySQL vers SQL_SERVER.
J ai un petit soucis avec une requete. Voici les tables dont j ai besoin.
J ai une table MySQL qui s'appelle "manage" avec comme attributs :
Un manageur est un employé, l'id_manageur est un id_employe, il decrit que que l'id_employe est managé par l'id_manageur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 id_manage id_manageur id_employe
Ensuite j ai une table MySQL "employe", avec notement comme attribut :
J ai une table SQL_SERVEUR, COLLABORATEUR qui contient aussi les employés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 id_employe nom prenom matricule id_site ...
(A noter que le MATRICULE de cette table est composé du matricule de la table employé concaténé à un '-' et de l'id_site (integer) ex: MO-1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MATRICULE NOM PERNOM CD_MANAGER ...
Le probleme est que les CD_MANAGER (qui sont en fait les MATRICULE des MANAGEUR) sont faux.
J aimerai faire une requete qui modifie tout les CD_MANAGER avec les bon MATRICULE.
Pour cela j ai deja fait une requete mais elle est a moitié bancale.
Le employe e1 me sert à recuperer les donnees de mon employé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 UPDATE $BDDW.COLLABORATEUR SET CD_MANAGER = ( SELECT CAST(e2.matricule+'-'+CAST(e2.id_site AS VARCHAR(1)) AS VARCHAR(10)) AS CD_MANAGER_RETURN FROM $BDREC.manage m, $BDREC.employe e1, $BDREC.employe e2 WHERE e1.id_employe = m.id_employe AND e2.id_employe = m.id_manageur AND COLLABORATEUR.MATRICULE= CAST(e1.matricule+'-'+CAST(e1.id_site AS VARCHAR(1)) AS VARCHAR(10)) )
Le employe e2 me sert à recuperer les donnees de mon manageur
Le probleme c est que mon SELECT renvoi plusieurs valeurs.
Ce que je voudrais c est que ma requete parcours chaque COLLABORATEUR, et que pour chaque COLLABORATEUR, dans le SELECT on renvoi le bon matricule CAST(e1.matricule+'-'+CAST(e1.id_site AS VARCHAR(1)) AS VARCHAR(10) )
Pouvez vous m aider ?
Merci bcp a bientot
Partager