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

SQL Firebird Discussion :

Requête de groupage


Sujet :

SQL Firebird

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Requête de groupage
    BONJOUR A TOUS ET BONNE ANNEE 2009
    Voici mon pb:
    j'ai 3 tables : POINTVENTE, INFOPRODUIT, PRODUIT
    Il s'agit en fait d'une base ou l'on recense des points de ventes (POINTVENTE),
    ensuite on rentre des informations sur les produits présents dans ces points de ventes (INFOPRODUITS),
    la table PRODUIT contient une liste de produits préenregistrés.
    Voici les champs de ces tables:

    POINTVENTE----------
    numpv (clé primaire)
    nompv
    nom vendeur

    INFOPRODUITS----------------------------------
    numinfo (clé primaire)
    numdemonpoint (clé étrangère vers POINTVENTE)
    numdemonproduit (clé étrangère vers PRODUIT)
    qteachat
    prixachat
    qtevendu
    prixvente

    PRODUIT--------------------------------
    numproduit (clé primaire)
    nomproduit
    catégorie (savon, dentifrice etc ...)

    VOICI LA LISTE DES REQUETES QUE JE DOIT RESOUDRE

    1/ liste des produits vendus par les points de ventes // (une seule occurence de produit par ligne)
    2/ liste des produits par points de ventes avec le chiffre d'affaire
    3/ liste des produits par catégorie avec le chiffre d'affaire
    4/ classement des produits par rapport au chiffre d'affaire (du plus grand au plus petit)

    j'ai essayer une approche pour la 1/ mais je me retrouve souvent avec le même produit sur
    2 lignes car étant répertorié par 2 points de ventes differentes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT DISTINCT 
      PRODUIT.numproduit,
      PRODUIT.nomproduit,
      INFOPRODUITS.qteachat,
      INFOPROPV.prixachat,
      INFOPROPV.qtevendu,
      INFOPROPV.prixvente,
      PRODUIT.catégorie
    FROM
      PRODUIT
      INNER JOIN INFOPRODUITS ON (PRODUIT.numproduit = INFOPROPV.numdemonproduit)
      INNER JOIN POINTVENTE ON (INFOPRODUITS.numdemonpoint = POINTVENTE.numpv )
    Merci d'avance pour votre aide

  2. #2
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Donne plus de détail (la liste des champs à sortir) sur les requêtes à pondre.
    Mais déjà, tu vas devoir utiliser un groupage genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SELECT 
      I.numdemonproduit,
      P.nomproduit,
      SUM(I.qteachat) AS ACHAT,
      SUM(I.qtevendu) as VENDU,
      SUM(I.prixvente * I.qtevendu) as TOTAL,
      P.catégorie
    FROM
      INFOPRODUITS I
      LEFT JOIN PRODUIT P ON (P.numproduit = I.numdemonproduit)
    GROUP BY 
      I.numdemonproduit,
      P.nomproduit,
      P.catégorie
    Voilà
    On progresse .....

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    c'est exactement la liste des champs que tu as choisi !
    mais à kel question repond cette requete, vu que je suis dans dans un cyber !
    merci

  4. #4
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    1/ liste des produits vendus par les points de ventes :
    - une seule occurence de produit par ligne,
    - ne tient pas compte du point de vente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT 
      I.numdemonproduit,
      P.nomproduit,
      SUM(I.qteachat) AS ACHAT,
      SUM(I.qtevendu) AS VENDU,
      SUM(I.prixvente * I.qtevendu) AS TOTAL
    FROM
      INFOPRODUITS I
      LEFT JOIN PRODUIT P ON (P.numproduit = I.numdemonproduit)
    GROUP BY 
      I.numdemonproduit,
      P.nomproduit
    2/ liste des produits par points de ventes avec le chiffre d'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SELECT
      PV.nompv,
      I.numdemonproduit,
      PR.nomproduit,
      SUM(I.qteachat) AS ACHAT,
      SUM(I.qtevendu) AS VENDU,
      SUM(I.prixvente * I.qtevendu) AS TOTAL
    FROM
      INFOPRODUITS I
      LEFT JOIN PRODUIT PR ON PR.numproduit = I.numdemonproduit
      LEFT JOIN POINTVENTE PV ON PV.numpv = I.numdemonpoint
    GROUP BY 
      PV.nompv,
      I.numdemonproduit,
      PR.nomproduit
    Je te laisse faire le reste.
    On progresse .....

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    merci beaucoup

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/09/2009, 17h14
  2. requête de groupage
    Par devalender dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/08/2009, 20h46
  3. Requête de groupage
    Par devalender dans le forum SQL
    Réponses: 9
    Dernier message: 13/08/2009, 19h07
  4. [MSDE] Problème de groupage sur une requête
    Par joefou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/11/2006, 09h43
  5. requête de groupage
    Par devalender dans le forum SQL
    Réponses: 5
    Dernier message: 16/05/2006, 14h50

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