{MySQL} concatener les résultats d'un même champ

Résolu/Fermé
lily-222 Messages postés 1 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 9 février 2010 - 9 févr. 2010 à 16:55
 djitar - 23 avril 2010 à 17:35
Bonjour,
Débutante en PHP/Mysql, j’ai du réaliser une base de données qui simule un catalogue de bibliothèque. J’ai un problème pour l’affichage des résultats.

Pour simplifier, une table (document) contient les informations principales concernant le livre, une autre contient les différents type de sujets possibles (sujet), et une troisième permet de faire le lien entre les deux (sujet-document).

Je pensais faire une requête du type: SELECT document.titre_document, sujet.nom_sujet FROM document, sujet, sujet_document WHERE document.id_document=document.id_document AND sujet.id_sujet=sujet_document.id_sujet AND document.titre_document LIKE ‘%edition%’ ;

Le problème est que, si un livre est relié à cinq sujets différents, j’obtiens 5 lignes de résultats même si la base ne contient qu’un seul livre dont le titre comporte le nom « edition ».

Ma question est donc : comment réussir à concaténer en une seule ligne l’ensemble des résultats d’un même champ ?

Merci d’avance !

3 réponses

Salut

C'est tout à fait possible !
Exemple :

select GROUP_CONCAT (CT_CHAMP SEPARATOR ', ') from Table;
2
Si j'en crois le lien suivant, cela n'est pas possible de le faire avec une simple requête mysql...
https://www.generation-nt.com/reponses/concatener-des-valeurs-d-une-meme-table-entraide-1025331.html#reponse

Désolée pour le dérangement...
0
Salut,

C'est tout à fait possible :
SELECT GROUP_CONCAT(CONCAT( CT_NOM,' ', CT_PRENOM)
ORDER BY CT_NOM DESC SEPARATOR "," )
FROM Bank_client
;
Ca marche pour moi. A toi d'adapter ma requête selon ton besoin !
A+
0