Bonjour,
J'ai un pb avec une requête sql que je dois effectuer.
J'ai une table avec des inscrits et des tables avec un listing de compétences possible pour ces inscrits. J'ai des tables intermédiaires pour chaque table de compétences possible.
La table d'inscrits contient un champs d'identifiant et d'autres infos inutile pour mom problème.
Les tables de compétence sont toute structuré pareil a savoir un numéro id unique et le titre de cette compétence.
Les tables intermédiaires contiennent l'id de l'inscrit et l'id de la compétence que l'inscrit possède sachant qu'il peut posséder évidement plusieurs compétences dans la même table donc on peut avoir :
id_inscrit | id_compétence
1 | 18
1 | 21
1 | 35
2 | 21
2 | 36
Mon objectif est de faire une grosse requête qui me sortira l'id ou les id des inscrits qui ont par exemple les compétences 18 et 21 d'une table de compétence donné ainsi que les compétence 51,17 et 37 d'une autre table de compétence etc.
La solution est surement pas si compliqué mais je coince...
Ma requête ressemble a ça pour le moment :
Là ou ça coince c'est mes deux dernière ligne qui interroge sur le même champ, s'il n'y en a qu'une ça passe, mais deux ou plus ça coince il ne me donne plus aucun résultats. Sachant que les 3 dernière lignes sont ajouté automatiquement par mon code php (la bdd est avec mysql) en fonction de ce que l'on recherche, et la liste peut être longue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT distinct postul.id_postul FROM postul, postul_cfcb, postul_domaines, postul_domaines_sn1, postul_domaines_sn2, postul_domaines_sn3 WHERE postul.id_postul=postul_cfcb.id_postul AND postul.id_postul=postul_domaines.id_postul AND postul.id_postul=postul_domaines_sn1.id_postul AND postul.id_postul=postul_domaines_sn2.id_postul AND postul.id_postul=postul_domaines_sn3.id_postul AND postul_domaines.id_domaine=111 AND postul_cfcb.id_cfcb=1 AND postul_cfcb.id_cfcb=2
En espérant avoir expliqué mon problème assez clairement.
Merci d'avance.
Partager