[英]How to get the results from multiple tables join using single query in Spring Data JPA?
[英]How do I concatenate the results from multiple join tables into a delimmited list using a single mySql query?
在MySql中,我有一個文檔表,一個文件夾表和一個searchtags表
Documents
ID
title
Folders
ID
title
Searchtags
ID
title
docFolders
docID -> Documents.ID
folderID -> Folders.ID
docSearchtags
docID -> Documents.ID
searchtagID -> Searchtags.ID
在上文中,docFolders和docSearchtags是表示文檔和文件夾,文檔和搜索標簽之間關系的多對多連接表。 單個文檔可以具有多個文件夾以及與其關聯的多個搜索標簽。
我想知道是否有可能建立一個單一的查詢,將選擇所有文件的標題,以及屬於一個每個文檔的每個文件夾標題的delimmited列表,也屬於每一個searchtag所有權delimmited列表每個文件。
例如,結果集可能看起來像這樣:
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
在此先感謝您的幫助
采用:
SELECT d.title AS doctitle,
GROUP_CONCAT(DISTINCT f.title) AS foldertitles,
GROUP_CONCAT(st.title) AS searchtagtitles
FROM DOCUMENTS d
JOIN DOCFOLDER df ON df.docid = d.id
JOIN FOLDERS f ON f.id = dc.folderid
JOIN DOCSEARCHTAGS dsc ON dsc.docid = d.id
JOIN SEARCHTAGS st ON st.id = dsc.searchtagid
GROUP BY d.title
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.