Sélectionner le résultat minimum d'un calcul

Fermé
deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013 - 6 déc. 2012 à 14:08
deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013 - 10 déc. 2012 à 10:09
Bonjour,

je cherche à sélectionner le tarif minimum d'une location de voitures.
ma table se présente à peu près comme ça :
une agence | tarifs | km
une agence peut proposer un ou 2 tarifs : 1 tarif brut qui ne dépend pas du km et 1 tarif qui dépend du km.
sans le calcul (avec les km), le tarif brut est plus élévé que le tarif dépendant du km.
Donc à la fin, je veux récupérer le tarif minimum de chaque agence.
à force de tester , je crois que je m'éloigne.
Voici ma requête sous php qui me donne tous les tarifs :
SELECT IF ($km > a.$indicek,a.$indicej + (($km-a.$indicek) * a.km_sup),a.$indicej) AS res ,
IF ($km > c.$indicek,c.$indicej + (($km-c.$indicek) * c.km_sup),c.$indicej) AS resc ,
a.*, b.adresse, b.titre, b.ville, b.territoire, b.ville_aeroport, b.typ_agence,b.complement, a.$indicep AS taux 
FROM 'tarif_vehicule' a, 'agence' b, 'tarif_vehicule' c
WHERE a.'id_tarif' = c.'id_tarif'
AND a.'enseigne' = b.'titre'
AND a.'design' = '$design' 

AND a.'agence' LIKE '%$agence%'
AND b.'typ_agence' LIKE '%$agence%'
AND $bville = '$villecourt'
AND a.$indicej <>'x'
AND a.$indicej <>'0'
AND IF ($km > a.$indicek,a.$indicej + (($km-a.$indicek) * a.km_sup),a.$indicej) IN 
(SELECT MIN(IF ($km > a.$indicek,a.$indicej + (($km-a.$indicek) * a.km_sup),a.$indicej)) FROM 'tarif_vehicule' GROUP BY b.adresse)

1 réponse

deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013
10 déc. 2012 à 10:09
up...
0