[SQL_SERVER & MYSQL]probleme de requete
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 :
Code:
1 2 3
| id_manage
id_manageur
id_employe |
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.
Ensuite j ai une table MySQL "employe", avec notement comme attribut :
Code:
1 2 3 4 5 6
| id_employe
nom
prenom
matricule
id_site
... |
J ai une table SQL_SERVEUR, COLLABORATEUR qui contient aussi les employés
Code:
1 2 3 4 5
| MATRICULE
NOM
PERNOM
CD_MANAGER
... |
(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)
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.
Code:
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 e1 me sert à recuperer les donnees de mon employé
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