Bonjour
J'ai les tables suivantes
T_Vehicule(#idVehicule,numVehicule,...)
T_Prise(#idPrise,idVehicule,DatePrise, ...)
Je veux une reqûete sql qui m'affiche pour chaque date l'ensemble des véhicules qui n'ont pas fait de prise.
Bonjour
J'ai les tables suivantes
T_Vehicule(#idVehicule,numVehicule,...)
T_Prise(#idPrise,idVehicule,DatePrise, ...)
Je veux une reqûete sql qui m'affiche pour chaque date l'ensemble des véhicules qui n'ont pas fait de prise.
Il te manque une table des dates...
On peut toujours la simuler en extrayant la liste des dates de T_Prise.
Seul problème, s'il y a une date à laquelle aucune voiture du parc n'a été prise, elle ne ressortira pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 select D.Jour , V.idVehicule from ( select DatePrise as Jour from T_Prise group by DatePrise ) as D cross join T_Vehicule as V where not exists ( select 1 from T_Prise as P where P.DatePrise = D.Jour and P.idVehicule = V.idVehicule ) ;
Ca marche, mais je souhaiterais faire le regroupement sur la date au lieu de le faire le véhicule.
j'ai ajouté un group by mais ça n'a pas d'effet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT D.Jour, V.numVehicule FROM ( SELECT DatePrise AS Jour FROM T_PriseCarburant GROUP BY DatePrise ) AS D CROSS JOIN T_Vehicule AS V WHERE NOT EXISTS ( SELECT 1 FROM T_PriseCarburant AS P WHERE P.DatePrise = D.Jour AND P.idVehicule = V.idVehicule ) Group by D.Jour,V.NumVehicule
C'est bien ce que fait la requête...Envoyé par Le Pharaon
Je ne comprends plus ce que tu veux faireEnvoyé par Le Pharaon
![]()
Je veux par exemple :
12/10/2006 1
12/10/2006 2
12/10/2006 3
12/10/2006 4
13/10/2006 1
13/10/2006 2
13/10/2006 4
Au lieu de
12/10/2006 1
13/10/2006 1
12/10/2006 4
13/10/2006 4
Tu souhaites donc ordonner tes résultats par date et par véhicule...
Ajoute simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ORDER BY D.Jour,V.NumVehicule
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager