cs_leeloo95
Messages postés10Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention 5 janvier 2010
-
16 déc. 2009 à 09:53
cs_leeloo95
Messages postés10Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention 5 janvier 2010
-
18 déc. 2009 à 12:22
Bonjour,
J'ai pas fait de SQL de puis un moment et la je bloque depuis un jour sur une fichu requête; je vais essayer de vous expliquer au mieux mon problème.
Je veux avoir les courses qui sont uniquement au statut 1 (Nom_statut_course: 1.En attente d'enlèvement) et pas les courses qui peuvent déjà être à un statut supérieur.
Seulement dans une demande je peux avoir plusieurs course
Ex:
Num_demande | Num_course
1 | 1
1 | 2
1 | 3
2 | 1
3 | 1
Voici la requête qui vous montrera au mieux la ou je bloque :
SELECT AC.Num_demande, AC.Num_course, AC.Num_statut_course, SC.Nom_statut_course, AC.Date_associer_course
FROM ASSOCIER_COURSE AS AC, STATUT_COURSE AS SC
WHERE AC.Num_statut_course = SC.Num_statut_course
and AC.Num_statut_course = '1'
and AC.Num_course not in (select AC1.Num_course from ASSOCIER_COURSE AC1
where AC1.Num_statut_course = '2'
or AC1.Num_statut_course = '3'
or AC1.Num_statut_course = '4'
or AC1.Num_statut_course = '5'
or AC1.Num_statut_course = '6');
Le problème c'est que je prends en compte que le Num_course et pas la relation entre le Num_demande et le Num_course.
Le résultat est que je n'affiche que les course qui ont un statut uniquement à 1, mais par exemple :
Num_demande | Num_course
1 | 1
1 | 2
2 | 1
ma requête devrais me retourner :
2 | 1
Seulement ma requête va également ne pas afficher cette ligne car pour elle la course 1 à un statut 2 sans prendre en compte le Num_demande.
cs_leeloo95
Messages postés10Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention 5 janvier 2010 16 déc. 2009 à 15:31
c'est bon j'ai trouvé ma solution ^^
Merci tpoinsot
Ma solution !!!
SELECT a.Num_demande, a.Num_course
FROM ASSOCIER_COURSE AS a
WHERE a.Num_statut_course = 1
AND NOT EXISTS (
SELECT *
FROM ASSOCIER_COURSE AS b
WHERE b.Num_demande = a.Num_demande
AND b.Num_course = a.Num_course
AND b.Num_statut_course > 1
)