Bonjour,

Je suis entrain de faire une requête SQL et celle-ci ne me retourne pas le bon résultat. En effet, elle est censé me retourner 1 au lieu de 0 comme elle le fait actuellement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
	SELECT COUNT(DISTINCT idVol) INTO nbVol FROM VOL
	JOIN MISSION ON VOL.idMission = MISSION.idMission
	JOIN ESCALE ON MISSION.idMission = ESCALE.idMission
	WHERE TRUNC(dateVol) = '17/05/15'
	AND ((villeDepart = 'Paris' AND villeArrivee = 'Marseille')
	OR (villeDepart = 'Paris' AND ville = 'Marseille')
	OR (ville = 'Paris' AND ville = 'Marseille')
	OR (ville = 'Paris' AND villeArrivee = 'Marseille'))
	AND ((TO_DATE(TO_CHAR(heureDepart,'HH24:MI'),'HH24:MI') = TO_DATE('11:00' ,'HH24:MI'))
	OR (TO_DATE(TO_CHAR(ESCALE.heureArrivee,'HH24:MI'),'HH24:MI') = TO_DATE('11:00','HH24:MI')));
En effet, il s'agit d'une mission avec deux escale et là, les villes choisit sont les ville des escales.
Je pense que le problème provient de l'heure car il ne sait quelle heure choisir pour l'escale.
L'heure que je donne, c'est l'heure de la première escale, c'est-à-dire Paris ici.
Il faudrait prendre l'heure de la ville qui se trouve à gauche dans la condition

Je peut aussi avoir des missions avec une seule escale et dans ce cas, on prendra par exemple comme condition villeDepart et ville pour tester.
Mais également des missions avec 3, 4 escales.

Merci de votre aide