Probleme SQL server 2005

Résolu
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   -  
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un probleme les amis,

en effet j'aimerais savoir comment forcer une requete à renvoyer un résultat quans celui ci est NULL?

Exemple : je parcours le mois de mars je récupere la somme des paiement de chaque jour:
il me renvoie 1: 100; 5 :150...

Et je voudrais qu'il me renvoie 1:100 ; 2 :0 ...

SELECT round(sum(champ_montant.MONTANT_VENTE_TTC),2)as mt_tot,day(champ_date)
FROM tables
WHERE champdate between '01/03/2010' and DATEADD(dd,1,'31/03/2010')
group by day(champdate)
order by day(champdate)

merci pour votre aide.


A voir également:

14 réponses

francis
 
En créant une fonction ?
0
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   16
 
Bonjour , pourrais tu m'eclaircir sur ce point , car je n'utilise jamais de fonction pour executer des requetes mis a part dans mes procédures stockées .
0
francis
 
Ben une fonction c'est comme une procédure, sauf que ça retourne quelque chose.
Après demandes en plus a google , je suis pas un expert en la matière
0
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   16
 
up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Tu peux traiter le problème au niveau de l'application (php?).

Ou alors tu fais une deuxième requête pour chercher les dates pour lesquelles il n'y a pas d'enregistrement(requête inverse...)
0
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   16
 
Salut , non je traite ces données directement dans excel et donc générer des graphiques automatiquement , c'est pour cela qu'il me faudrait :

-Si il n'y a pas de montant au jour 5 , il me retourne quand même le jour 5 avec la valeur 0.

Je suis bloqué la dessus, tu peux m'éclaircir sur les requêtes inverses?
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 

SELECT 0 as mt_tot, day(champ_date) 
FROM tables 
WHERE day(champ_date) NOT IN 
( 
SELECT day(champ_date) 
FROM tables 
WHERE champdate between '01/03/2010' and DATEADD(dd,1,'31/03/2010') 
group by day(champdate) 
order by day(champdate) 
) 



0
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   16
 
Bien joué breub , maintenant j'ai tous les enregistrements ou il n'y a rien (0).

Aurais tu une solution pour récupérer la valeur (sum) quand il y a du contenu ;

car la j'ai 2:0;3:0.... , mais plus 1:150 ...
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Malheureusement je ne pense pas que ce soit possible. Tu dois réussir à jongler entre les deux requêtes...

Par exemple, tu affiches les deux requêtes à la suite puis tu fais un tri global sur la date...c'est une solution. Après je ne m'y connait pas assez en excel(je n'excelle pas...) pour savoir ce que tu peux faire d'autre...

Bonne continuation
0
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   16
 
OK merci quand meme
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Et en affichant les deux requêtes à la suite + tri par date c'est pas faisable???
0
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   16
 
Je regarde de ce coté.pas simple lol
0
Neyte Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   16
 
C'est bon en fait j'ai réussi à faire une seule requête en mettant un "union".
@+
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Ok bien joué. Je t'ai dit je ne m'y connais pas du tout en excel.@+
0