Bonjour à tous,
J'ai un petit soucis avec une requête je vois d'ou viens le problème mais je ne sais pas le résoudre:
Il s'agit de vérifier si un collaborateur possède tel ou tel compétences.
J'ai donc une table collaborateur, une table compétences et une table de liaison (collab_comp).
Mais dans le champs de recherhe l'utilisateur peut spécifier plusieurs compétences et ensuite spécifié si il veut (compétences A ou compétence B) ou (compétence A et compétence B)
Le problème se pose avec le ET, voila par exemple une requête généré avec le OU:
SELECT distinct collab.ID_COL, collab.NOM FROM competences, collab_comp, collab WHERE (collab.ID_COL= collab_comp.ID_COL AND collab_comp.ID_COMP=competences.ID_COMP AND (competences.produits LIKE '%Lotus%' OR competences.produits LIKE '%Windows%') )
qui me renvoie un certain nombre de résultats, maintenant avec le AND:
SELECT distinct collab.ID_COL, collab.NOM FROM competences, collab_comp, collab WHERE (collab.ID_COL= collab_comp.ID_COL AND collab_comp.ID_COMP=competences.ID_COMP AND (competences.produits LIKE '%Lotus%' AND competences.produits LIKE '%Windows%') )
Et cette requête ne me renvoie aucun résultat, alors qu'il y a des collaborateurs ayant les 2 compétences..
Merci d'avance si vous voyez qql chose de louche
Partager