Bonjour à tous,

j'ai un problème tout bête dans une requête SQL mais je bute dessus depuis hier et je craque un peu :

Je veux sortir un grand livre d'écritures comptables pour une période et faire apparaitre le solde (a nouveau) d'avant période.

Je fais saisir différents paramètres : compte de debut, compte de fin, date début, date de fin ...

Ma requete ressemble à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Select   No_compte, nom, date_ecriture, piece, no_document, designation, debit, credit,
 
(select sum(debit) 
  from fic_ecriture 
  where date_ecriture < @datedebut) as 'a nouveau debit',
 
(select sum(credit) 
  from fic_ecriture 
  where date_ecriture < @datedebut) as 'a nouveau credit'
 
from fic_ecriture 
where date_ecriture >= @datedebut 
  and date_ecriture <= @datefin
puis j'affiche :
a nouveau débit 12000 a nouveau crédit 500 solde 11500

date pièce document désignation débit crédit
21/01/09 123456 fact01 facture 1 120 0
23/02/09 456789 fact 02 facture 2 300 0

etc ...

Cela marche très bien lorsqu'il existe des écritures dans la fourchette de date demandée . Je récupère sur chacune des lignes mon a nouveau débit et a nouveau crédit que j'affiche en haut. mais dans le cas ou je demande une période dans laquelle il n'y a pas d'écritures, ma requête ne me retourne aucun résultat, aucune ligne (alors que je voudrais récupérer mes valeurs d' a nouveau débit et d' a nouveau crédit). Comment puis je faire pour récupérer au moins une ligne avec mes a nouveaux ?

Pour info je bosse sous sqlserver 2005.

Merci d'avance de votre aide