Requete en utilisant l'opérateur PIVOT

Le
jack
Bonjour,

Je suis sous SQL 2005

J'ai une table reglement dans laquelle j'ai

dateReglement smalldatetime
vendeur varchar(20)
typeReglement varchar(20) (Chèque, CB, espèces)
Montant decimal(18,2)

et des enregistrements de type
01/06/2008 PIERRE CHQ 600.25
01/06/2008 PAUL CHQ 200
01/06/2008 PAUL CHQ 350
01/06/2008 PAUL ESP 25
02/06/2008 PIERRE CB 200
02/06/2008 PIERRE CHQ 300
03/06/2008 PAUL CHQ 400

etc

Je souhaiterais obtenir le résultat sous la forme suivante :

Date Vendeur CHQ CB ESP
TOTAL
01/06/2008 PAUL 550 0 25
575
01/06/2008 PIERRE 600.25 0 0
600.25
02/06/2008 PIERRE 300 200 0
500
03/06/2008 PAUL 400 0 0
400

Mais je n'y parviens pas

Merci par avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Benoit
Le #17244601
bonjour,

SELECT date, vendeur, [CHQ], [ESP], [CB], (isnull([CHQ],0)+isnull(
[ESP],0)+isnull([CB],0)) as TOTAL
FROM
(SELECT vendeur, typereglement, sum(montant) as montant
FROM reglement
GROUP BY vendeur, typergelement) pvt
PIVOT (sum(montant) FOR typereglement IN ([CHQ][ESP][CB])) as pvt

cordialement
clément

--
Clément DEGROOTE
SAS BEUZELIN
Tel : 02 32 67 20 60
Fax : 02 32 67 26 91
"jack"
Bonjour,

Je suis sous SQL 2005

J'ai une table reglement dans laquelle j'ai

dateReglement smalldatetime
vendeur varchar(20)
typeReglement varchar(20) (Chèque, CB, espèces)
Montant decimal(18,2)

et des enregistrements de type
01/06/2008 PIERRE CHQ 600.25
01/06/2008 PAUL CHQ 200
01/06/2008 PAUL CHQ 350
01/06/2008 PAUL ESP 25
02/06/2008 PIERRE CB 200
02/06/2008 PIERRE CHQ 300
03/06/2008 PAUL CHQ 400

etc...

Je souhaiterais obtenir le résultat sous la forme suivante :

Date Vendeur CHQ CB ESP
TOTAL
01/06/2008 PAUL 550 0 25
575
01/06/2008 PIERRE 600.25 0 0
600.25
02/06/2008 PIERRE 300 200 0
500
03/06/2008 PAUL 400 0 0
400

Mais je n'y parviens pas...

Merci par avance





jack
Le #17250661
Merci.

En fait j'avais un problème de compatibilité au niveau de la base de données
(level 80 au lieu de 90)

"Benoit" news:
bonjour,

SELECT date, vendeur, [CHQ], [ESP], [CB], (isnull([CHQ],0)+isnull(
[ESP],0)+isnull([CB],0)) as TOTAL
FROM
(SELECT vendeur, typereglement, sum(montant) as montant
FROM reglement
GROUP BY vendeur, typergelement) pvt
PIVOT (sum(montant) FOR typereglement IN ([CHQ][ESP][CB])) as pvt

cordialement
clément

--
Clément DEGROOTE
SAS BEUZELIN
Tel : 02 32 67 20 60
Fax : 02 32 67 26 91
"jack"
> Bonjour,
>
> Je suis sous SQL 2005
>
> J'ai une table reglement dans laquelle j'ai
>
> dateReglement smalldatetime
> vendeur varchar(20)
> typeReglement varchar(20) (Chèque, CB, espèces)
> Montant decimal(18,2)
>
> et des enregistrements de type
> 01/06/2008 PIERRE CHQ 600.25
> 01/06/2008 PAUL CHQ 200
> 01/06/2008 PAUL CHQ 350
> 01/06/2008 PAUL ESP 25
> 02/06/2008 PIERRE CB 200
> 02/06/2008 PIERRE CHQ 300
> 03/06/2008 PAUL CHQ 400
>
> etc...
>
> Je souhaiterais obtenir le résultat sous la forme suivante :
>
> Date Vendeur CHQ CB ESP
> TOTAL
> 01/06/2008 PAUL 550 0 25
> 575
> 01/06/2008 PIERRE 600.25 0 0
> 600.25
> 02/06/2008 PIERRE 300 200 0
> 500
> 03/06/2008 PAUL 400 0 0
> 400
>
> Mais je n'y parviens pas...
>
> Merci par avance
>
>
>




Publicité
Poster une réponse
Anonyme