SQL SERVER - Groupement sur case when
Nono21011978
Messages postés
2
Statut
Membre
-
Christounet Messages postés 1272 Date d'inscription Statut Membre Dernière intervention -
Christounet Messages postés 1272 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Sur une requete dans SQL SERVER, j'ai besoin d'attaquer deux tables différentes ( clients et factures ) et en retour il me faut qu'une ligne par client.
Dans la table clients, je recupere les champs Code, Nom, ....
Dans la table factures je recupere des champs simple du type Montant et des champs calculé via un CASE WHEN
clients.numcomptable Code_Client
factures.mtsolde Mt_Du_Facture ,
CASE WHEN factures.blitigenonbloquant+factures.blitigebloquant <> '0'
then 1
else 0
End Nb_Fact_Litige ,
Les deux tables sont à la base triée par code client croissant et par numéro de factures croissantes.
J'ai besoin d'obtenir en resultat :
Mon résultat doit donc me donner mon code client, le montant total des factures dues, et le nombre de factures en litige.
Je ne sais pas comment faire, merci de m'aider
Sur une requete dans SQL SERVER, j'ai besoin d'attaquer deux tables différentes ( clients et factures ) et en retour il me faut qu'une ligne par client.
Dans la table clients, je recupere les champs Code, Nom, ....
Dans la table factures je recupere des champs simple du type Montant et des champs calculé via un CASE WHEN
clients.numcomptable Code_Client
factures.mtsolde Mt_Du_Facture ,
CASE WHEN factures.blitigenonbloquant+factures.blitigebloquant <> '0'
then 1
else 0
End Nb_Fact_Litige ,
Les deux tables sont à la base triée par code client croissant et par numéro de factures croissantes.
J'ai besoin d'obtenir en resultat :
Mon résultat doit donc me donner mon code client, le montant total des factures dues, et le nombre de factures en litige.
Je ne sais pas comment faire, merci de m'aider
1 réponse
-
Bonjour,
L'ordre suivant devrait faire ce que tu veuxSELECT code_client , sum(Mt_Du_Facture) asTotalFactureDu , sum(case when factures.blitigenonbloquant+factures.blitigebloquant <> '0' then 1 else 0 End) as NombreFactLitiges group by code_client
en ajoutant la jointure entre les deux tables
A plus-
Tout d'abord merci, je vais le tester pour voir.
Il me manque juste un petit détail : je rajoute ma jointure et le nom des tables avec FROM et WHERE afin d'avoir une requete du type
SELECT xxxxxxxx
xxxxxxxx
FROM xxxxxxx
WHERE xxxx=xxxx
Le Group By, je dois le mettre après chaque champ que je souhaite groupé ou directement à la fin de la requete apres le Where ??
Merci
-