IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Aide sur requête SQL


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Aide sur requête SQL
    Bonjour,

    Après avoir essayé en vain de m'aider des faqs et tuto je n'arrive toujours pas à obtenir un résultat.

    dans une table je souhaite récupérer des enregistrements sous cette forme :

    20100100 | Somme des montants en débit | Somme des montants en crédit
    20100200 | Somme des montants en débit | Somme des montants en crédit
    20100300 | Somme des montants en débit | Somme des montants en crédit

    sachant que les lignes se décomposent par exemple comme ceci :

    [CodePeriode] - [Sens] - [Montant]
    20100100 D 1980,37
    20100100 C 1980,37
    20100200 D 186,97
    .....

    Les montants doivent donc se cumuler en fonction du sens (débit/crédit) et regroupés par CodePeriode

    J'ai tenté les requêtes imbriquées et l'union mais en vain

    merci d'avance de vos lumières

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    En ce moment cette question est posée deux fois par jour sur ce même forum... Un peu de lecture et de recherches !

    Vous n'avez même pas posté le moindre début de requête.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Désolé je vais éplucher un peu les posts précédents;

    Je vous mets une requête qui me ramène par exemple la colonne CodePeriode et une colonne Montant (Débit), ile me faudrait une 3ème colonne avec uniquement les montant au crédit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT CodePeriode,  SUM(Montant)
    FROM dbo_ECR_Ecriture
    WHERE CodePeriode LIKE '2010%'  AND Sens='C'
    GROUP BY CodePeriode, Sens
    ORDER BY CodePeriode

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Retirez les filtres sur le sens au niveau du where, et essayez de les remonter dans le select sur deux colonnes différentes.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Oui j'ai en retirant le filtre et en placant des select imbriqués dans le select mais les sommes calculées ne sont pas alors plus triées par CodePeriode

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT CodePeriode, SUM(CASE WHEN Sens = 'D' THEN Montant ELSE 0 END) AS MONTANT_DEBIT,
                        SUM(CASE WHEN Sens = 'C' THEN Montant ELSE 0 END) AS MONTANT_CREDIT
    FROM   dbo_ECR_Ecriture
    WHERE  CodePeriode LIKE '2010%'
    GROUP  BY CodePeriode
    ORDER  BY CodePeriode
    Au passage si CodePeriode est une date ce n'est pas comme cela que doit s'écrire votre requête.

    A +

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Merci SQLPro,

    J'ai testé votre requête mais j'obtiens les mêmes montants coté crédit et débit

    Le champ CodePeriode est un varchar

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Ha non pardon, votre requête est correcte, je n'avais controlé qu'une partie des sommes.

    Merci bien, vous me retirez une bonne épine du pied.

    Marc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'aide sur requête Sql
    Par Sekigawa dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 31/12/2009, 15h14
  2. Aide sur requête SQL
    Par Pschittt dans le forum Langage SQL
    Réponses: 8
    Dernier message: 06/11/2008, 14h56
  3. Aide sur requête SQL
    Par Mister Paul dans le forum Langage SQL
    Réponses: 14
    Dernier message: 27/10/2008, 11h22
  4. aide sur requête sql
    Par Vodkha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 30/08/2005, 17h53
  5. Aide sur Requête SQL
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/05/2005, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo