Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/04/2011, 13h10   #1
Membre du Club
 
Avatar de kha_yassine
 
Inscription : juin 2007
Messages : 125
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 125
Points : 42
Points : 42
Envoyer un message via MSN à kha_yassine
Par défaut Somme de deux colonnes

Bonjour Tout le monde,

Je vous explique mon petit besoin,

J'ai la table 'T' avec le contenu suivant :

p1 | p2
_______
10 | 0
04 | 6
02 | 9
21 | null

et j'aimerai sommer p2 si elle n'est pas (null ou 0) + la somme de p1 si p2 est (null ou 0)

Le résultat voulu dans l'exemple cité = 46

Et merci d'avance
kha_yassine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 16h28   #2
Membre chevronné
 
Homme O. Joly
Support
Inscription : décembre 2010
Messages : 287
Détails du profil
Informations personnelles :
Nom : Homme O. Joly
Âge : 38
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Support
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2010
Messages : 287
Points : 617
Points : 617
Code :
SELECT sum( decode ( nvl(p2,0) ,0 ,p1 ,p2 ) ) total FROM T
ojo77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 10h27   #3
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
idem avec la syntaxe case
Code :
SELECT sum(case when p2 <> 0 then p2 else p1 end) FROM T
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h12.


 
 
 
 
Partenaires

Hébergement Web