{MySQL} concatener les résultats d'un même champ
Résolu
lily-222
Messages postés
1
Statut
Membre
-
djitar -
djitar -
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 !
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 !
Configuration: Windows 7 Firefox 3.5.7
3 réponses
-
Salut
C'est tout à fait possible !
Exemple :
select GROUP_CONCAT (CT_CHAMP SEPARATOR ', ') from Table; -
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... -
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+