Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 12-02-2010 13:32:00

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

[RESOLU] Somme conditionnelle

Bonjour,

me voilà de retour sur PB et donc sur PBadonf.
J'ai un problème avec une requête SQL. Est-ce que quelqu'un voit pourquoi elle ne fonctionne pas (sous Oracle)

Code: sql

select s.cod_prod,
       sum(s.poids),
       sum( if(s.dlc<sysdate,s.poids,0) ) as qte_perime
from stock s
group by s.cod_prod;

Dernière modification par abdelta (22-02-2010 09:22:59)


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#2 12-02-2010 13:46:06

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Somme conditionnelle

Bonjour,

Code: sql

select s.cod_prod,
       sum(s.poids),
       sum( case when s.dlc<sysdate then s.poids else 0 end ) as qte_perime
from stock s
group by s.cod_prod;

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 12-02-2010 13:50:22

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Somme conditionnelle

Merci, çà marche beaucoup mieux.
Mais pourquoi le IF ne marche pas ?
Il me semble pourtant avoir vu quelques exemples sur Internet de sum( if(expr,valtrue,valfalse) )


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#4 12-02-2010 14:10:56

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Somme conditionnelle

A ma connaissance, le IF-THEN-ELSE existe en PL/SQL mais pas en SQL.
Sinon il y a aussi le Decode( expression, valeur1, resultat1, valeur2, resultat2, .... )


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 12-02-2010 14:29:25

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Somme conditionnelle

erasorz a écrit:

A ma connaissance, le IF-THEN-ELSE existe en PL/SQL mais pas en SQL.
Sinon il y a aussi le Decode( expression, valeur1, resultat1, valeur2, resultat2, .... )

Exact. Seuls les CASE et le DECODE sont utilisables dans des requêtes SQL sous ORACLE.
Les autres ne sont présents qu'en PL-SQL.
Pour les mettre en oeuvre, il est toujours possible d'utiliser les procédures stockées.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#6 16-02-2010 17:50:48

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Somme conditionnelle

n'oublie pas le [RESOLU]


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#7 22-02-2010 09:23:52

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Somme conditionnelle

erasorz a écrit:

n'oublie pas le [RESOLU]

J'ai perdu mes bonnes habitudes ; çà fait trop longtemps que je ne suis pas revenue sur le site ...


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22