OVH Cloud OVH Cloud

comparer plusieurs tables sur 2 champs

1 réponse
Avatar
nathagaga
Je souhaite comparer plusieurs tables
J'ai 4 tables :
Table personne (réfP, nom, prénom, code local)
Table poste (code local, poste, secteur)
Table formation obligatoire(code local, réfF) (plusieurs formations
par code local)
Table formation effectuée (réfP, RéfF, date)

Je souhaiterai sortir une liste des personnes n'ayant pas effectuées
les formations obligatoires pour leur poste.

Si quelqu'un a une idée, je n'ai peut être pas été très claire

Merci

nathalie

1 réponse

Avatar
mouly
(nathalie) écrivait
news::

Je souhaite comparer plusieurs tables
J'ai 4 tables :
Table personne (réfP, nom, prénom, code local)
Table poste (code local, poste, secteur)
Table formation obligatoire(code local, réfF) (plusieurs formations
par code local)
Table formation effectuée (réfP, RéfF, date)

Je souhaiterai sortir une liste des personnes n'ayant pas
effectuées les formations obligatoires pour leur poste.

Si quelqu'un a une idée, je n'ai peut être pas été très
claire


avec une jointure externe ca devrait marcher
essaye quelquechose comme :

SELECT T_personne.réfP, T_FormationObligatoire.réfF
FROM T_personne
LEFT OUTER JOIN T_FormationObligatoire
ON T_personne.codelocal = T_FormationObligatoire.codelocal
LEFT OUTER JOIN T_FormationEffectuee
ON T_FormationObligatoire.réfF = T_FormationEffectuee.réfF
Where IsNull (T_FormationEffectuee.réfF)

je ne l'ai pas testée, donc verifie que ca donne ce que tu veux.
la syntaxe devrait etre bonne
tu devrais avoir la liste des personnes et les formations qu'ils auraient
du avoir mais qu'il n'ont pas effectuée

la seconde jointure te permete d'obtenir toute les formation obligatoire
et leur formation effectuée associée meme si celle ci n'existe pas (c'est
a dire si la ligne est nulle)

Ps: je n'ai pas compris ton modele, est il besoin de faire reference à la
table T_Poste dans la jointure ?
--
mouly
mouly2 at yahoo dot com