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 :

Difficulté dans une requête


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 190
    Points : 80
    Points
    80
    Par défaut Difficulté dans une requête
    bonjour

    j'ai deux tables (annonce et photo)

    chaque annonce peut posséder 4 photos

    dans la table photo j'ai ajouté un champs qui s'appelle 'affichee' qui peut contenir 0 ou 1. (de facon à ce que les gens puissent choisir la photo qu'ils préferent voir apparaitre dans la liste des résultats de recherche.)

    dans la liste de recherche j'aimerais donc privilégier l'affichage des photos qui possède un champs 'affichee' sur '1';

    et pour les membres qui n'ont pas choisis la photo qu'il souhaite voir affichée dans cette liste de recherche,
    on selectionne une photo ou le champs 'affichee' est sur 0

    voici ma requete actuelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT a. *,p. * FROM annonce a LEFT JOIN
     photo p ON a.id = p.idannonces WHERE pays='$numero_pays'
    GROUP BY a.id ORDER BY lastupdate DESC

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 039
    Points : 23 787
    Points
    23 787
    Par défaut
    Bonjour,

    Est-ce que ceci suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM annonce a 
    LEFT JOIN photo p ON a.id = p.idannonces 
    WHERE pays='$numero_pays'
    ORDER BY a.affichee DESC, lastupdate DESC
    Au passage, le GROUP BY ne sert à rien dans une requête où on ramène tout .
    Si ça ne convient pas, peux-tu donner un exemple de ce que tu as en base et de ce que tu souhaiterais obtenir par la requête ?

    ced

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 190
    Points : 80
    Points
    80
    Par défaut
    merci pour ta réponse,

    avec ton bout de code ça ne fonctionne pas non plus, j'avais déja testé tout à l'heure. (en fait, si ça fonctionne, mais elle ne sont plus ordonnée par lastupdate) et elle doivent l'etre sinon tout est chamboulé

    j'espere que quelqu'un va trouver une solution

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 190
    Points : 80
    Points
    80
    Par défaut
    je vais essayer d'etre un chti peu plus compréhensible

    J'aimerais tout simplement si c'était possible dans ma requête
    mettre un

    if(une_des_quatre_photo_de_l'annonce_du_membre ==1 dans le champs 'affichee')
    {
    alors c'est cette photo la qui s'affiche
    }
    else
    {
    on met une des 4 photos au hazard
    }
    voici un site en exemple: www.de-chien-a-chat.be

    dans les 10 derniere annonces àjoutée, 1 photos s'affiche seulement, cette photo la je voudrais que les gens puisse la choisir, dans les 4 photos qu'ils ont ajouté, je sais pas comment l'expliquer autrement lol, mais sans changé l'ordre normal des annonces

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 902
    Points : 53 143
    Points
    53 143
    Billets dans le blog
    6
    Par défaut
    Vous pouvez faire quelques chose comme :

    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 ...
           CASE 
              WHEN PHOTOA = 1 THEN PHOTOA
              WHEN PHOTOB = 1 THEN PHOTOB
              WHEN PHOTOC = 1 THEN PHOTOC
              WHEN PHOTOD = 1 THEN PHOTOD
           ELSE CASE RAND(4) 
                   WHEN 1 THEN PHOTOA
                   WHEN 2 THEN PHOTOB
                   WHEN 3 THEN PHOTOC
                   WHEN 4 THEN PHOTOD
                END
           END
    ...
    FROM ...
    A condition que votre SGBDR accepte une fonction RAND paramétrable...

    A +

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

Discussions similaires

  1. [AC-2010] Difficulté rencontrée dans une requête.
    Par RyoGin dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 30/04/2014, 19h57
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  3. [SQL] Renommer un champ dans une requête
    Par martonpylon12 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 15/11/2003, 01h59
  4. Difficulté à construire une requête
    Par coolcpu dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/10/2003, 00h43
  5. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51

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