PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → La fonction SQL SUM renvoie la valeur NULL - WD24/75n
La fonction SQL SUM renvoie la valeur NULL - WD24/75n
Iniciado por thierry.couraud, 25,jul. 2019 15:37 - 7 respuestas
Miembro registrado
4 mensajes
Publicado el 25,julio 2019 - 15:37
Bonjour à tous,

A partir de la requête ci-dessous, la valeur renvoyée est NULL si je n'ai aucune ligne qui correspond à la sélection
Je souhaiterais avoir la valeur 0 à la place.

SELECT SUM(QTE)
FROM LIGNE_CDE
WHERE ID_LIGNE_CDE = 2

J'ai essayé COALESCE et NVL mais j'ai un message d'erreur à chaque fois, le moteur HF C/S n’excepte pas ces 2 instructions
dans ce cas là, auriez-vous une piste ?

Merci d'avance

Thierry
Miembro registrado
2.682 mensajes
Publicado el 25,julio 2019 - 16:11
Bonjour,

HFSQL étant très limité,si la requête suivante ne fonctionne pas, je ne vois pas de solution miracle
SELECT SUM(COALESCE(QTE,0))
FROM LIGNE_CDE
WHERE ID_LIGNE_CDE = 2


--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
953 mensajes
Publicado el 25,julio 2019 - 16:32
bonjour,

c'est tiré par les cheveux mais quelque chose comme çà fonctionne chez moi , à adapter pour votre fichier

select
COALESCE(Data.tot,0)
from
(select Sum(sale_header.total_ttc) as tot from sale_header WHERE sale_header.ID_acc=4000) as Data
Miembro registrado
4 mensajes
Publicado el 25,julio 2019 - 17:05
Ok, merci
Miembro registrado
41 mensajes
Publicado el 26,julio 2019 - 08:45
Bonjour,

Il faut peut être regarder du côté de la fonction : ISNULL
et faire un CASE ...

Bonne journée
Miembro registrado
41 mensajes
Miembro registrado
2.682 mensajes
Publicado el 26,julio 2019 - 09:14
@Christophe: Cette te renverra null même si tu as des données non nulles et une seule donnée nulle. C'est le principe du null, la somme de 1+2+3+null = null

Ta requête renverra donc des données fausses. Il est obligatoire de faire la somme des coalesce.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
953 mensajes
Publicado el 26,julio 2019 - 09:22
bonjour,

je n'avais pas saisie que ces données pouvaient être null,

j'avais compris que son soucis survenait lorsque son critère de sélection ne retournait pas de donnée, et pas que ces données pouvaient avoir la valeur null...

autant pour moi