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 :

Selection d'1 image parmis plusieurs


Sujet :

Requêtes MySQL

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 224
    Points
    20 224
    Par défaut Selection d'1 image parmis plusieurs
    Salut à tous,
    Je suis face à un petit problème et j'ai pas vraiment d'idée pour y remédier

    Voici la structure de table que j'ai :

    Une table produit : contient les infos relative au produit dont son id et l'id de sa catégorie
    Une table produit_categorie : Contient l'id de la catégorie et un libéllé
    Une table produit_image : Contient l'id de l'image ainsi que son url
    Une table liste_image_produit : contient l'id du produit et l'id des images qui lui sont rattachées

    Pour le moment j'ai la requête suivante qui me permet de lister tous les produits d'une catégorie :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT produit.id_produit, nom_produit, prix_produit, liste_image_produit.id_image, produit_image.url_image
    FROM produit, produit_image, liste_image_produit,produit_categorie
    WHERE id_cat=2 AND liste_image_produit.id_produit=produit.id_produit AND produit_image.id_image=liste_image_produit.id_image ORDER BY produit.id_produit DESC

    Je récupère donc le nom , le prix, et les image de mes produits de la catégorie 2. Cependant j'aimerais ne récupérer que la première image du produit et non pas toutes les images qui le concerne. Comment puis je faire si possible en évitant les requêtes imbriquées.

    Merci

    PS (je travail sous mysql 4.1)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 490
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 490
    Points : 6 044
    Points
    6 044
    Par défaut
    utilise un limit
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 224
    Points
    20 224
    Par défaut
    Oui mais si j'utilise un limite je vais avoir une limite sur le nombre de produit afficher dans la catégorie chose que je ne veux pas. non ?
    Je veux simplement prendre que la première image qui concerne le produit
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 490
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 490
    Points : 6 044
    Points
    6 044
    Par défaut
    Un produit peut avoir plusieurs image ? mais toi tu veux récupérer qu'une image pour un produit. Je me rappelle plus dans quel version de mysql tu peux faire des sous requete ou tu placeras ta jointure avec le limit

    SELECT teschamps, (SELECT url_image FROM produit_image JOIN liste_image_produit ON produit_image.id_image=liste_image_produit.id_image WHERE produit_image.id_image = id_image LIMIT 1,1) FROM produit_categorie WHERE id_cat=2 ORDER BY produit.id_produit DESC

    Il y a peut être des erreurs mais tente cette approche.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 224
    Points
    20 224
    Par défaut
    Oui en effet un produit peut avoir plusieurs images.

    En fait j'avais penser aux requêtes imbriqué mais j'étais pas sur que mysql 4 le gère.

    Je vais tester , sinon je passerais par 2 requetes.

    Merci
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 490
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 490
    Points : 6 044
    Points
    6 044
    Par défaut
    Si tu as la 4.1 ça doit être bon.
    http://dev.mysql.com/doc/refman/5.0/fr/subqueries.html
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

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

Discussions similaires

  1. selection d'un esclaves parmi plusieurs
    Par kpatson dans le forum Administration
    Réponses: 2
    Dernier message: 03/12/2011, 22h35
  2. Réponses: 9
    Dernier message: 11/11/2006, 13h10
  3. Réponses: 2
    Dernier message: 24/08/2005, 10h59
  4. sélection d'un max parmi plusieurs champs
    Par invitésuprise dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/08/2005, 13h49
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

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