Se connecter avec
S'enregistrer | Connectez-vous

[SQL access] besoin d'aide pour une requete

Dernière réponse : dans Programmation

tout d'abord voici les tables concerner :

Employe(num_emp, nom_emp, pnom_emp ...)

exercer(num_emp, num_metier)
->il va de Employee à Metier

Metier(num_metier, nom_metier)

exiger(num_metier, ref_qualif)
->il va de Metier à Qualification

Qualification(ref_qualif, revision_qualif,desi_qualif)

posseder(num_emp, ref_qualif, date_qualif, date_suiv_qualif)
-> il va de Employee à Qualification, date_qualif est la date a laquel il a passé sa qualification, date_suiv_qualif est la date d'"expiration" de la qualification

MCD : http://zniak.free.fr/mcd.jpg


donc un metier exige une ou plusieur qualification, un employé a un metier (il peut en avoir plusieur mais il en a un principal , c'est sur celui ci que l'on va se focaliser), et enfin un employé a une ou plusieur qualification .


La requete que je cherche a faire se passe sous le moteur SQL d'Access, je voudrai afficher la liste des employé avec les qualification et métier corespondant qui ne posséde pas une (ou plusieurs) qualification éxiger par le metier qu'il exerce, ou une qualification qui n'est pas a jour.

Aprés avoir beaucoup réfléchi je n'est toujours pas trouvé de solution qui fonctionne.

J'avais penssé a afficher la liste idilique (relié employee, exercer, metier, exiger, qualification)en retirant (avec un NOT IN et une sous requete) les lignes de la table posséder (ainsi en retirant les "bon" il serai rester la "mauvais") , probléme, si je retire avec le numero d'employé apparaiterons uniquement les employés qui n'ont aucune formation pour le metier qu'il exerce (si il en ont au moins une il n' s'afficherons pas).
Je réfléchi 5 minute et me dit que c'est logique étant donnée que l'on retire par numero d'employé ceux qui figure dans la table posséder (ainsi tout les numero sont retiré).

Donc je me dit qu'il faut faire le NOT IN avec le numero d'employé et le numero de qualification ... et c'est la qu'il y a probléme :
-ACCESS refuse la requete m'informant qu'une sous requete ne peut renvoyé qu'un seul champs !



Donc voila si quelqu'un pouvait m'aider a résoudre ce probléme ...

Merci d'avance !

Autres pages sur : sql access besoin aide requete

Lassé par la pub ? Créez un compte

Ton affaire m'a l'air assez complexe.

Il est difficile de faire des requêtes RIGHT JOIN avec un WHERE du coté droit, surtout vu ta structure croisée à deux niveaux.

Si tu peux attendre une semaine (je suis en déplacement), envoie-moi ta base sur mon adresse mail que je te met en MP.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde