|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité régulier
![]() Inscription : avril 2006 Messages : 24 ![]() |
Bonjour,
dans une requête sql qui se décompose en plusieurs requêtes, dans la requête finale qui affiche les résultats, j'ai une colonne total qui est une somme de 3 colonnes (où les informations sont mises dans 3 tables temporaires différentes) or si je n'ai pas de résultat dans la 3ème colonne , il ne fait pas le total La requête : Code :
Code :
Citation:
merci |
|||||
|
|
00
|
|
|
#2 | |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
je dois avouer que j'ai du mal a saisir
mais si je peux proposer de faire attention aux valeurs (totaux null) Null + quelque chose = null il faut donc remplacer le null par zéro avec la fonction NULLIF() mais je le répète, je ne suis pas sûr que ce soit là que se pose le problème parce que le tableau de résultats est curieux dans le nombre de colonnes en sortie Citation:
|
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 24 ![]() |
Le résultat est le suivant : (j'ai remplacé les blancs par des zéros) pour exemple la ligne [11]
tab1.nbsansdp = 0 tab2.nbsansnumrss = 3 tab3.nbavecnumrss = 155 restotal = 0 et moi je voudrais obtenir restotal = 158 exemple pour la ligne [97] tab1.nbsansdp = 4 tab2.nbsansnumrss = 0 tab3.nbavecnumrss = 130 restotal = 0 et moi je voudrais obtenir restotal = 134 Comment puis-je faire ? merci pour votre aide |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
si les zéros sont bien présents, je ne vois pas de problème.....
vous pourriez remettre les résultats affichés issus de la requête ? |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 24 ![]() |
non je n'ai pas de zéro dans le résultat de ma requête mais des blancs, (j'ai mis des zéros juste pour l'exemple dans mon post sur le forum) et c'est ce que j'essaye de faire dans ma requête, remplacer une valeur null par des zéros en essayant par ISNULL ou IFNULL mais ma requête ne fonctionne pas.
Pour info, je travaille sur une base de donnée informix |
|
|
00
|
|
|
#6 | ||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
je ne connais pas du tout informix
![]() essayes la fonction COALESCE qui une fonction standard : Code :
|
||
|
|
10
|
|
|
#7 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 24 ![]() |
informix n'a pas l'air de connaitre COALESCE |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
et qu'en est-il de la fonction NULLIF ? existe-t-elle sous INFORMIX ? sinon, il pourrait être possible de passer au niveau de la requête qui calcule les sommes d'utiliser le CASE (cela existe ?) |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 24 ![]() |
![]() et non pareil avec NULLIF |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
isnull(val, 0)
nvl(val, 0) au cas où sinon, goto documentation informix |
|
|
00
|
|
|
#11 | |||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
attention, ISNULL() renvoie 0 ou 1
et ce type de syntaxe est il accepte ? (pour generer le 0 au niveau de la requete COUNT) Code :
Citation:
|
|||
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Ah ouais, c'est méchant ça
Avec SQL Server, isnull(val1, val2) renvoie val1 si différent de null, sinon val2 ![]() Code :
|
||
|
|
00
|
|
|
#13 |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
voila ce que je merite
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com