2017-02-16 107 views
0

我有以下表「GROUP_CONCAT()」 多通過列外鍵

書籍表

 
id  title  authors 
3  Linux 

authors表

 
id firstname lastname fk 
1  name  name  3 
2  name2  name  3 

我想查詢authors表以獲取作者列使用GROUP_CONCAT()填充類似此表的東西

 
id title   authors 
3 Linux name name | name2 name2 

回答

0

爲單本圖書的ID,你知道,你可以得到作者的列表,像這樣的單個值:

SELECT group_concat(firstname || ' ' || lastname) 
FROM authors 
WHERE fk = ?; 

在實際的查詢就用這個作爲一個correlated subquery

SELECT id, 
     title, 
     (SELECT group_concat(firstname || ' ' || lastname, ' | ') 
     FROM authors 
     WHERE fk = book.id 
     ) AS authors 
FROM book; 
+0

非常感謝,這很有幫助 –