Bonjour,
Je souhaite obtenir pour un opérateur, la somme encaissée par jour et par mode de règlement.

Le problème est similaire à ce post
http://www.developpez.net/forums/d11...select-select/

J'ai utilisé cette solution, qui ne me donne pas les resultats escomptés.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT sum(f2.TTC) as esp,sum(f3.TTC) as cb ,sum(f4.ttc) as cheques,f1.operateur,f1.date
FROM  facture_test f1 
full outer join facture_test f2 
on (f2.mode_reglement = 'espèces')
full outer join facture_test f3 
on (f3.mode_reglement = 'CB')
full outer join facture_test f4
on (f4.mode_reglement = 'Chèques')
group by f1.operateur,f1.date;

Voici la structure de la base que j'ai créée pour le test.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE [dbo].[facture_test](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[HT] [money] NULL,
	[TTC] [money] NULL,
	[TVA] [money] NULL,
	[operateur] [nchar](10) COLLATE French_CI_AS NULL,
	[date] [datetime] NULL,
	[mode_reglement] [nchar](10) COLLATE French_CI_AS NULL,
 CONSTRAINT [PK_facture_test] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

J'ai essayé INNER JOIN ou LEFT /RIGHT OUTER JOIN mais sans succès. J'avoue que je m'y perds un peu la, malgré ce cours.