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 & Concat_ws


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut Select & Concat_ws
    Bonjour à tous,

    J'ai un petit problème sur une requête SQL avec SELECT LEFT JOIN et CONCAT_WS.

    Mes deux tables sont les suivantes :
    tb : artistes => dont je sélectionne tous les champs (resultset : 4)
    tb : images => dont je sélectionne les champs direname et basename (resultset : 20).

    Or je voudrais pouvoir faire un concat_ws de ma table images correspondant à l'artiste et n'avoir en retour que 4 lignes.

    Avec ma requête je me retourve avec 20 lignes et les infos sur les artistes en doublon :
    SELECT * FROM artistes a LEFT OUTER JOIN images i ON i.direname=CONCAT("artistes/",a.idx,"/");

    J'espère avoir été assez clair ...

    Merci par avance

  2. #2
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    A moins que je ne me goure, mais je pense pas que ce soit possible de concaténer des lignes.

    Il faut que tu fasses le tri avec le langage qui va traiter les résultats de ta requête.

  3. #3
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Un petit lien pour compléter ce que dit Xunil : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L9

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    Merci à vous deux pour vos réponses.
    Je vais me pencher sur le lien qu tu m'as donné Maximilian. Je vais surement trouver mon bonheur en traitant en brut mes données SQL et j'appliquerai les cosmétiques sous PHP ... parce qu'elles le valent bien ...

    Encore merci !

  5. #5
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    En fait il est possible de concaténer plusieurs lignes avec GROUP_CONCAT, ce qui supposera un GROUP BY sur les artistes :
    http://dev.mysql.com/doc/refman/5.0/...functions.html

    Après de là à savoir si c'est souhaitable dans ce cas...

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut la solution
    Effectivement Sirvît,

    J'ai lu l'article donnée par Miximilian et La doc Mysql5 ... je suis tombé sur GROUP_CONCAT, parès qques tests sous Mysql Query je suis arrivé au résultat voulu

    RQT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT a.*, GROUP_CONCAT(i.basename) AS images FROM artistes a ,images i WHERE i.direname=CONCAT("artistes/",a.idx,"/") GROUP BY a.idx;
    Le résultat me retourne 4 lignes, une par artiste avec un champ supplémentaire "image" qui est une concaténation des images regroupées par artistes.

    Ainsi sous PHP je pourrai exploité ce champ avec split par exemple.

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. CONCAT_WS() et JOIN(SELECT): type BLOB renvoyé
    Par ctobini dans le forum Requêtes
    Réponses: 0
    Dernier message: 17/12/2007, 18h03
  3. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  4. TEdit : selection du texte et autre fonction
    Par Odulo dans le forum Composants VCL
    Réponses: 5
    Dernier message: 01/08/2002, 14h27
  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