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 MySQL Discussion :

SELECT dans la fonction GROUP BY


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut SELECT dans la fonction GROUP BY
    Bonjour à tous,

    Je souhaiterais savoir qu'elle est la bonne méthode pour effectuer ce genre de traitement. Dans ma clause GROUP BY, je souhaite regrouper par nom, prix, prix2 et liste d'ingrédients... Cette liste d'ingrédients me pose problème, je ne vois pas comment l'interpréter dans ma requête SQL...

    Avez-vous une piste pour éclaircir ma pauvre lanterne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT item.id AS id_item, produit.nom, item.prix1, item.prix2 FROM carte
    LEFT JOIN item ON carte.id=item.id_carte
    LEFT JOIN liaison_item_produit ON item.id=liaison_item_produit.id_item
    LEFT JOIN produit ON liaison_item_produit.id_produit=produit.id
    WHERE carte.etat=3
    AND item.id_carte_categorie=$id_categorie AND item.etat=1
    GROUP BY produit.nom, item.prix1, item.prix2,(SELECT ingredient.id FROM ingredient
    LEFT JOIN  liaison_item_ingredient ON liaison_item_ingredient.id_ingredient = ingredient.id
    WHERE liaison_item_ingredient.id_item=id_item ORDER BY ingredient.nom ASC)	
    ORDER BY produit.nom ASC
    Merci d'avance pour vos réponses

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    Pouvez-vous donnez un petit jeu de donnée, simplifié, en entrée et en sortie de votre futur requête pour comprendre ce que vous cherchez à faire ?

  3. #3
    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
    Surtout que dans cette requête, il n'y a aucune raison pour y mettre un GROUP BY vu qu'il n'y a aucune fonction de groupage.
    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 !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut
    Pour compléter, les informations, voici une version simplifié de la bdd :


    J'ai donc :
    - des cartes qui contiennent des items
    - les items sont composés d'un nom, prix1, prix2 et d'une liste d’ingrédients
    - les items peuvent avoir le même nom mais avoir des ingrédients différents

    Dans le process, les cartes et son contenus sont dupliquées et modifiées.
    j'ai créée les tables "produit" et "ingrédient" comme des bibliothèques de mots

    Pour ma requête, je cherche à afficher les items qui sont utilisée à l'instant T sans afficher les doublons (doublons = même nom + même liste d'ingrédients et même prix)

    Merci bcp de vos réponses

  5. #5
    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
    Pour ma requête, je cherche à afficher les items qui sont utilisée à l'instant T sans afficher les doublons (doublons = même nom + même liste d'ingrédients et même prix)
    Et qu'est-ce qui définit qu'un item est utilisé ?
    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 !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut
    Et qu'est-ce qui définit qu'un item est utilisé ?
    Il est utilisé si sa carte d'appartenance est en prod (carte.etat=3) et si item.etat=1

Discussions similaires

  1. [XL-2010] Utiliser sheet.select dans une fonction personnalisée
    Par sebkem dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/04/2015, 15h37
  2. Réponses: 3
    Dernier message: 27/07/2011, 11h57
  3. Réponses: 1
    Dernier message: 10/05/2009, 02h07
  4. utiliser le resultat d´un select dans une fonction
    Par charlie_p07 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/03/2008, 20h54
  5. Réponses: 4
    Dernier message: 12/06/2006, 11h46

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