Problème avec champs crée dans requête SELECT

[Résolu]
Signaler
Messages postés
2
Date d'inscription
dimanche 8 août 2004
Statut
Membre
Dernière intervention
14 juin 2007
-
Messages postés
2
Date d'inscription
dimanche 8 août 2004
Statut
Membre
Dernière intervention
14 juin 2007
-
Bonjour à tous,

J'ai une requete SELECT ou je crée un champs en focntion de la valeur de deux autres champs :
SELECT t.*, NB_J  =
case
when EXPRESSION_DUREE = 'J' THEN DUREE
when EXPRESSION_DUREE = 'M' THEN DUREE * 30
when EXPRESSION_DUREE = 'A' THEN DUREE * 360
end
FROM TAUX t

J'aimerais savoir comment utiliser la fonction MAX sur ce champs crée (NB_J) qui ne contient que des entiers ainsi que si il est possible de faire un filte sur ce champ (NB_J > 180).
En gros pour arriver à quelque chose comme :
SELECT max(NB_J  =
case
when EXPRESSION_DUREE = 'J' THEN DUREE
when EXPRESSION_DUREE = 'M' THEN DUREE * 30
when EXPRESSION_DUREE = 'A' THEN DUREE * 360
end)
FROM TAUX t
WHERE NB_J > 70

Bien évidemment cela ne marche pas !

Merci par avance pour votre aide.

2 réponses

Messages postés
436
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
8 octobre 2008
5
Bonjour,
Essaie:
select max(nb_j)
 from
(
SELECT t.*, NB_J  =
case
when EXPRESSION_DUREE = 'J' THEN DUREE
when EXPRESSION_DUREE = 'M' THEN DUREE * 30
when EXPRESSION_DUREE = 'A' THEN DUREE * 360
end
FROM TAUX t
) tt

Ca , c'est le maximum de tout ....
Dom
Messages postés
2
Date d'inscription
dimanche 8 août 2004
Statut
Membre
Dernière intervention
14 juin 2007

Merci beaucoup ca marche nickel.