[SQL] Requête complexe sur plusieurs tables
Bonjour,
Dans ma BDD j'ai trois tables :
- member (IDMember, Nom,Prenom)
- competences (IDCompetence, NomCompetence)
- avoircompetence(IDAvoircomp, #IDMember, #IDCompetence, Niveau)
Cela biensur me permet d'attribuer a un ou plusieurs membres une compétences avec un niveau de maitrise variable.
Pour les besoins de la cause je dois selectionner toutes les competences qu'un individus ne possède pas.
J'ai tenté en prenant pour l'exemple le membre N°1.
Code:
1 2 3 4 5 6
| SELECT * FROM competences
WHERE IDCompetence in (SELECT DISTINCT avoircompetence.IDCompetence
FROM competences INNER JOIN avoircompetence ON
competences.IDCompetence=avoircompetence.IDCompetence
WHERE avoircompetence.IDMember!='1'
GROUP BY avoircompetence.IDCompetence) |
Malheuresement si le membre N°2 a les memes compétences que le N°1 ces compétences seront selectionnées :?
J'ai essayé sans la jointure dans la sous requete aussi mais cela ne change rien :
Code:
1 2 3 4
| SELECT * FROM competences
WHERE IDCompetence in (SELECT DISTINCT IDCompetence
FROM avoircompetence WHERE IDMember!='1'
GROUP BY IDCompetence) |
Donc si quelqu'un pouvait m'aiguiller s'il vous plait...