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 :

Requête group by


Sujet :

Requêtes et SQL.

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Requête group by
    Bonjour, je coince sur une requette,
    Nom : access.jpg
Affichages : 450
Taille : 53,7 Ko

    Je cherche a lister les commandes qui contiennent une catégorie de produit spécifique tout en récupérant Min(DateDebProd) et Max(DateFinProd) de tout les produits de la commande.
    Chaque commande ne doit s'afficher qu'une seule fois

    le code sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCTROW Commandes.NoCde, Commandes.Client, Min(CommandesProduits.DateDebProd) AS MinDeDateDebProd, Max(CommandesProduits.DateFinProd) AS MaxDeDateFinProd, Produits.Categorie
    FROM Produits INNER JOIN (Commandes INNER JOIN CommandesProduits ON Commandes.[] = CommandesProduits.[N°Cde]) ON Produits.Id = CommandesProduits.Produit
    GROUP BY Commandes.NoCde, Commandes.Client, Produits.Categorie;
    Si un expert passe par la

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Je pense qu'il faut supprimer la colonne Categorie.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Et je fait comment pour filtrer les commandes qui contiennent une catégorie de produit spécifique ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    bonjour,
    tu fait un where avant le group by

    Nom : Sans titre.png
Affichages : 238
Taille : 2,6 Ko

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Dans ce cas j'ai bien les commandes mais pas les date deb et fin correcte, elles ne prennent en compte que les produits filtré.
    je veux toutes les commandes qui contiennent au moins un produit de la catégorie spécifié mais le min et max des dates sur tous les produits de la commande.

    j'ai reussi a faire quelque chose a base de sous requete mais je sais pas si c'est terrible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT DISTINCTROW Min(CommandesProduits.DateDebProd) AS MinDeDateDebProd, Max(CommandesProduits.DateFinProd) AS MaxDeDateFinProd, Commandes.N°
    FROM Commandes LEFT JOIN CommandesProduits ON Commandes.[] = CommandesProduits.[N°Cde]
    GROUP BY Commandes.N°;
     
    SELECT [Commandes Requête].N°, Produits.Categorie, [Commandes Requête].MinDeDateDebProd, [Commandes Requête].MaxDeDateFinProd
    FROM Produits INNER JOIN ([Commandes Requête] INNER JOIN CommandesProduits ON [Commandes Requête].N° = CommandesProduits.N°Cde) ON Produits.Id = CommandesProduits.Produit
    WHERE (((Produits.Categorie)=1));
    une telle requete ne va t'elle pas faire ramer access au bout d'un certain nombre de commandes ?
    J'hesite a plutot rajouter 2 champ datedeb et datefin dans la table commandes et mettre a jour les dates manuellement a chaque modification des dates d'un produit.

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/09/2006, 12h35
  2. [Req] Explication sur requête Group By
    Par benazerty dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 01/09/2006, 17h52
  3. Réponses: 3
    Dernier message: 16/08/2006, 16h05
  4. traiter les groupes retourné par la requête GROUP BY
    Par mgemc2 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/08/2006, 13h16
  5. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 10h26

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