SQL : Max entre 2 colonnes

Kivanc Messages postés 390 Date d'inscription   Statut Membre Dernière intervention   -  
Kivanc Messages postés 390 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention  
 
Personne pour m'aider ?
0