SQL SERVER - Groupement sur case when
Nono21011978
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Christounet Messages postés 1264 Date d'inscription Statut Membre Dernière intervention -
Christounet Messages postés 1264 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
A voir également:
- SQL SERVER - Groupement sur case when
- Comment créer un groupe sur whatsapp - Guide
- Cybera server - Télécharger - Divers Réseau & Wi-Fi
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Filezilla server - Télécharger - Téléchargement & Transfert
- Mysql community server - Télécharger - Bases de données
1 réponse
Bonjour,
L'ordre suivant devrait faire ce que tu veux
en ajoutant la jointure entre les deux tables
A plus
L'ordre suivant devrait faire ce que tu veux
SELECT 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
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
Ta requête doit être a peu près la suivante:
SELECT a , b , c , ....
FROM table1
WHERE condition1
GROUP BY a , b , ...
Le GROUP by vient à la fin de la commande.
A plus