簡體   English   中英

用一個SQL查詢連接三個表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM