En MySql, j'ai une table de documents, une table de dossiers, et une table searchtagsComment concaténer les résultats de plusieurs tables de jointure dans une liste délimitée à l'aide d'une seule requête mySql?
Documents
ID
title
Folders
ID
title
Searchtags
ID
title
docFolders
docID -> Documents.ID
folderID -> Folders.ID
docSearchtags
docID -> Documents.ID
searchtagID -> Searchtags.ID
Dans ce qui précède, docFolders et docSearchtags sont nombreux à plusieurs tables de jointure exprimant le rapport entre les documents et les dossiers, et documents et tags de recherche. Un seul document peut avoir plusieurs dossiers et plusieurs tags de recherche associés.
Je me demande s'il est possible de créer une unique requête qui sélectionneront le titre de tous les documents, ainsi qu'une liste delimmited de tous les titres du dossier qui appartient à un chaque document, et également une liste delimmited de chaque titre de recherche qui appartient à chaque document.
Par exemple, le ResultSet pourrait ressembler à ceci:
RESULT
docTitle | folderTitles | searchtagTitles
The Quick Brown Fox | foxes, colours | Bushy tails, browny, foxy
The Slow Green Turtle | turtles, colours | Hard shells, slimy, turtle-soup
The Cute Fluffy Bunny | bunnies, cute | Fluffy, rabbit, rabbit-stew
Merci (à l'avance) pour votre aide
merci pour la réponse rapide. J'ai essayé d'implémenter votre solution, mais je rencontre des problèmes ... parce qu'il y a plusieurs dossiers par document, f.title devrait aussi être inclus dans un GROUP_CONCAT, mais quand je le fais, je reçois plusieurs titres de dossiers répétés dans le jeu de résultats delimmited ... Des idées? – Travis
qui fonctionne presque. Cependant, maintenant les titres du carnet de recherche delimmited sont répétés ... – Travis
@Travis: Désolé - voir la mise à jour. –