cs_jerome_p
Messages postés74Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention28 juin 2006
-
19 mai 2005 à 17:30
cs_jerome_p
Messages postés74Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention28 juin 2006
-
24 mai 2005 à 11:24
Bonjour,
Voila j'ai un problème avec une requete SQL. Pour expliquer un peu, ma
requete est construite par l'application et les paramètres sont
dynamiques
SELECT e.LastName,e.FirstName FROM Employee e,
Rating r WHERE r.SkillId 6 and r.SkillId 7 and r.RatingOwner = 2
and r.RatingOwner 3 and e.EmployeeId r.EmployeeId
Comme c'est l'application qui construit la requete, il m'est impossible de modifier l'ordre des paramètres.
cs_jerome_p
Messages postés74Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention28 juin 2006 24 mai 2005 à 11:24
Bonjour,
Voici la requête utilisée et celle ci elle fonctionne ;-)
Elle est construite dynamiquement en fonction du nombre de Skill sélectionnés.
SELECT e.LastName, e.FirstName FROM Employee e where e.EmployeeId in
(SELECT e.EmployeeId FROM Employee e, Rating r where r.SkillId = 7 and
r.RatingOwner 3 and e.EmployeeId r.EmployeeId)
and e.EmployeeId in (SELECT e.EmployeeId FROM Employee e, Rating r
where r.SkillId 6 and r.RatingOwner 2 and e.EmployeeId =
r.EmployeeId)
and e.EmployeeId in (SELECT e.EmployeeId FROM Employee e, Rating r
where r.SkillId 9 and r.RatingOwner 4 and e.EmployeeId =
r.EmployeeId)
cs_jerome_p
Messages postés74Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention28 juin 2006 19 mai 2005 à 17:56
Heu non en fait parce que tous les employés de ma table possèdent le SkillId = 6 ET le SkillId = 7 . Donc avec des OU ce n'est pas possible sinon la
requete va me retourner toutes les personnes qui possèdent le SkillId 6 et le SkillId 7 ( c'est à dire toute ma table )
Ce que je voudrais c'est qu'il me sorte seulement les employés qui ont
pour le SkillId 6, un RatingOwner 2 ET pour le SkillId = 7, un
RatingOwner =3.
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 19 mai 2005 à 18:02
Ce ne serait pas plutot ça dans ce cas là :
SELECT
e.LastName,e.FirstName
FROM
Employee e, Rating r
WHERE
e.EmployeeId = r.EmployeeId
AND
( (r.SkillId 6 AND r.RatingOwner 2)
OR (r.SkillId 7 AND r.RatingOwner 3)
)