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

Requêtes et SQL. Discussion :

Opérations "Regroupement" et "Somme" dans les requêtes


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Opérations "Regroupement" et "Somme" dans les requêtes
    Bonjour,

    J'ai un problème assez basique me semble-t'il mais je n'arrive pas à comprendre ce qui se passe

    1) J'ai une table de produits sur le modèle suivant :

    Produit Composant
    Pdt A Part A1
    Pdt A Part A2
    Pdt A Part A3
    Pdt B Part B1
    Pdt B Part B2

    2) En parallèle, j'ai une table de données chiffrées :

    Composant Montant
    Part A1 100,00
    Part A2 200,00
    Part A3 0,00
    Part B1 50,00
    Part B2 50,00

    3) Je génère une nouvelle table avec mes montants cumulés par produits :

    Voici le résultat que j'attends :

    Produit SommeDeMontant
    Pdt A 300,00
    Pdt B 100,00

    Dans les faits certaines sommes sont complètement fausses (genre Pdt A = 2000,00), d'autres justes. Si je relance ma requête, les erreurs ne sont pas sur les mêmes produits...

    Je deviens fou ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP.

    Ce serait bien si tu nous mettais sur le forum la requête que tu as utilisée.

    Philippe

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci

    Voici le code SQL ... je ne sais si c'est très clair

    Ma table de produits comporte les champs suivants :

    Code du produit
    Produit (= libellé)
    Code Part (= code des composants des produits que l'on retrouve dans toutes les tables détaillées)
    Caractéristiques

    Cette table est ici croisée avec des tables de données chiffrées (ENCOURS, PERF, COLLECTE)

    Dans ma requête j'applique sur chaque champ l'opérateur "Regroupement" ou "Somme" selon qu'il s'agisse d'un champ de données numériques ou non

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT [BASE PRODUITS].[Code du produit], [BASE PRODUITS].Produit, Sum([ENCOURS 2008 12].[Encours Décembre 2008]) AS [SommeDeEncours Décembre 2008], Sum([YTD 2008].[Collecte 2008]) AS [SommeDeCollecte 2008], Sum([PERF 2008 12].[YTD Perf nette]) AS [SommeDeYTD Perf nette], Sum([PERF 2008 12].[YTD Perf bench]) AS [SommeDeYTD Perf bench], Sum([PERF 2008 12].[1Y Perf nette]) AS [SommeDe1Y Perf nette], Sum([PERF 2008 12].[1Y Perf bench]) AS [SommeDe1Y Perf bench], Sum([PERF 2008 12].[3Y Perf nette]) AS [SommeDe3Y Perf nette], Sum([PERF 2008 12].[3Y Perf bench]) AS [SommeDe3Y Perf bench], [BASE PRODUITS].[Caractéristique Produit 2], [BASE PRODUITS].[Caractéristique Produit 3], [BASE PRODUITS].[Gamme MKG], Sum([ENCOURS 2008 12].[Autoconsommation]) AS [SommeDeAutoconsommation], Sum([ENCOURS 2008 12].[Fonds de Fonds]) AS [SommeDeFonds de Fonds] INTO [T11 - Agglo au niveau CPT]
    FROM (([BASE PRODUITS] INNER JOIN [PERF 2008 12] ON [BASE PRODUITS].[Code PART] = [PERF 2008 12].[Code PART]) INNER JOIN [YTD 2008] ON [BASE PRODUITS].[Code PART] = [YTD 2008].[Code PART]) INNER JOIN [ENCOURS 2008 12] ON [BASE PRODUITS].[Code PART] = [ENCOURS 2008 12].[Code PART]
    GROUP BY [BASE PRODUITS].[Code du produit], [BASE PRODUITS].Produit, [BASE PRODUITS].[Caractéristique Produit 2], [BASE PRODUITS].[Caractéristique Produit 3], [BASE PRODUITS].[Gamme MKG], [BASE PRODUITS].[Périmètre d'analyse]
    HAVING ((([BASE PRODUITS].[Périmètre d'analyse])="OK"))
    ORDER BY [BASE PRODUITS].Produit;

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Bonjour,
    Pour pouvoir debuguer ce type de probleme, il convient de commencer par verifier que la requete avant les operations de regroupement retopurne les bons enregistrements.... si la requete est bonne, elle doit retourner le meme nombre d'enregistrement a chque fois et il doit y avoir les bonnes valeurs.
    Ensuite, il convient de faire les verifications sur les resultat de la requete sans l'insertion. Si les resultats sont bon et constant, le probleme vient de l'insertion ....
    Dis nous a quel niveau se situe de dysfonctionnement

Discussions similaires

  1. Quote et double quote dans les requêtes paramétrées
    Par michel.souris dans le forum WinDev
    Réponses: 5
    Dernier message: 07/06/2013, 11h27
  2. Les quotes dans ma requête "select"
    Par Jonathan_pingu dans le forum SQL
    Réponses: 37
    Dernier message: 14/05/2009, 11h53
  3. [MySQL] Pourquoi dois-je utiliser des "quotes penchées" dans mes requêtes?
    Par v4np13 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2008, 00h23
  4. Somme cumulée dans une requête
    Par vthomas dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/02/2008, 19h18
  5. Les doubles quotes dans les fprintf
    Par Changedman dans le forum C
    Réponses: 30
    Dernier message: 22/02/2007, 13h07

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