SQL : Max entre 2 colonnes

Fermé
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020 - 29 juil. 2015 à 20:09
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020 - 30 juil. 2015 à 20:19
Bonjour,

Je n'arrive pas à corriger ma formule qui me permet de faire une somme avec un MAX sur 2 colonnes.

Je m'explique : j'ai 3 colonnes : SUM_VENTE_HS, SUM_VENTE_PCD_J et SUM_VENTE_PCD_J7
Je souhaiterai ajouter une 4ème colonne qui me fasse ce calcul :
SUM_VENTE_HS + MAX ( SUM_VENTE_PCD_J; SUM_VENTE_PCD_J7).

Voici mon code qui ne marche pas :

COALESCE ( TABLE_VENTE_HS.SUM_VENTE_HS; 0 ) + COALESCE ( ( CASE 
WHEN TABLE_VENTE_PCD_J.SUM_VENTE_PCD_J < TABLE_VENTE_PCD_J7.SUM_VENTE_PCD_J7 THEN TABLE_VENTE_PCD_J7.SUM_VENTE_PCD_J7
ELSE TABLE_VENTE_PCD_J.SUM_VENTE_PCD_J
END ); 0 )


Le calcul fonctionne correctement mais je me rends compte dans les données qu'il y'a un problème lorsque SUM_VENTE_HS est vide ! En effet dans ce cas il n'y a pas de somme qui est faite et le max entre PCD_J et PCD_J7 ne se fait pas. J'ai l'impression que ça prend automatiquement la 1ère valeur (la plus au gauche) et donc PCD J.

Ce que je souhaiterai c'est que dans tous les cas on fasse bien MAX ( SUM_VENTE_PCD_J; SUM_VENTE_PCD_J7) et si SUM_VENTE_HS est non nul on l'additionne à cette valeur max dans la nouvelle colonne.

Merci
A voir également:

1 réponse

Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 juil. 2015 à 20:19
Personne pour m'aider ?
0