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 :

Addition de quantite dans une requete SQL


Sujet :

Langage SQL

  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut Addition de quantite dans une requete SQL
    Bonjour,
    Je viens vers la communauté SQL pour un petit problème dans la requête ci-dessous.

    En fait elle fonctionnes bien, mais je souhaiterais regroupé les articles par famille et en faire la somme des quantitées regroupées.
    Su quelqu'un peut m'aider.

    Dans la pièce jointe le résultat de la requete ci-dessous et entouré en rouge le groupage et calcul des quantés


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT     DocDetail.DocDetailDesignation, DocDetail.DocDetailIdFamille, DocDetail.DocDetailIdArticle, SUM(DocDetail.DocDetailQuantite) AS Total, 
                          DocAdmin.DateEcheance, DocAdmin.IdTournee
    FROM         DocDetail INNER JOIN
                          DocAdmin ON DocDetail.NumDocAdmin = DocAdmin.NumeroDocument
    WHERE     (DocAdmin.DateEcheance = '21/05/2010') AND (DocAdmin.TypeDocument = 'BL')
    GROUP BY DocDetail.DocDetailDesignation, DocDetail.DocDetailIdFamille, DocDetail.DocDetailIdArticle, DocAdmin.DateEcheance, DocAdmin.IdTournee
    HAVING      (DocAdmin.IdTournee = 0) OR
                          (DocAdmin.IdTournee = 2)
    ORDER BY DocDetail.DocDetailIdFamille
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Ben il suffit de supprimer toutes les colonnes qui ne sont pas la famille ! Ou alors je n'ai pas compris le besoin ?

    Au passage, ce qui est dans le HAVING devrait être dans le WHERE car HAVING est une restriction sur le résultat du regroupement, pas sur les données individuelles.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DocDetail.DocDetailFamille, SUM(DocDetail.DocDetailQuantite) AS Total_famille
    FROM DocDetail
    INNER JOIN DocAdmin ON DocDetail.NumDocAdmin = DocAdmin.NumeroDocument
    WHERE DocAdmin.DateEcheance = '21/05/2010' 
      AND DocAdmin.TypeDocument = 'BL'
      AND (
        DocAdmin.IdTournee = 0 
        OR DocAdmin.IdTournee = 2
      )
    GROUP BY DocDetail.DocDetailFamille
    ORDER BY DocDetail.DocDetailFamille
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    A peut de chose près c'est exactement ce qu'il me faut ( juste ajouter la designation a l'affichage

    Grand merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DocDetail.DocDetailIdFamille, SUM(DocDetail.DocDetailQuantite) AS Total, DocDetail.DocDetailDesignation 
                         FROM DocDetail INNER JOIN DocAdmin ON DocDetail.NumDocAdmin = DocAdmin.NumeroDocument WHERE
                         (DocAdmin.DateEcheance = '21/05/2010') AND (DocAdmin.TypeDocument = 'BL') AND (DocAdmin.IdTournee = 0 OR DocAdmin.IdTournee = 2) 
                         GROUP BY DocDetail.DocDetailIdFamille, DocDetail.DocDetailDesignation ORDER BY DocDetail.DocDetailIdFamille
    Hmm anné 63 ( bonne cuvée )

Discussions similaires

  1. utilisation du contenu d'un champ edit dans une requete sql
    Par amri2006 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/01/2006, 16h05
  2. [MySQL] Comparer des info date dans une requete SQL
    Par kaygee dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 06/01/2006, 21h56
  3. pb de guillemet dans une requete SQL
    Par linouline dans le forum Langage SQL
    Réponses: 1
    Dernier message: 23/12/2005, 11h38
  4. [JDBC]Caractères spéciaux dans une requete SQL
    Par frizby dans le forum JDBC
    Réponses: 2
    Dernier message: 28/11/2005, 18h01
  5. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51

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