[英]Connect three tables with a single SQL-Query
如果我有這三個表:
table1: id, title, content
connection: id_t1, id_t2
table2: id, title, content
在我來說,我只選擇table1的單排。 為此,表2中有很多行。 可以在表“連接”中找到兩個表的連接
我如何創建查詢才能獲得此結果?
table1-title
table2-content1
table2-content2
table2-content3
table1-content
如果我理解正確,我相信您想將GROUP BY與GROUP_CONCAT函數一起使用
查詢如下所示:
SELECT table1.title, GROUP_CONCAT(table2.content) as table2.group_content, table1.content
FROM table1
JOIN connection on table1.id = id_t1
JOIN table2 on connection.id_t2 = table2.id
GROUP BY table2.content
這將為您每個table1.id提供一行,並將多個table2.content行串聯成一列(在此示例中稱為table2.group_content)。
select title from table1 where title_id = 1
UNION
select t2.content
from table2 t2, table1 t1, connection c
where t1.title_id = 1
and t1.title_id = c.id_t1
and c.id_t2 = t2.title_id
UNION
select content from table1 where title_id = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.