Après windows pour les nuls, voici PB pour les bons (ou presque).

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