2017-02-16 5 views
0

Ich habe die folgenden Tabellen„GROUP_CONCAT()“ mehrere Spalten durch Fremdschlüssel

Buch Tisch

 
id  title  authors 
3  Linux 

Autoren Tisch

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

Ich möchte Autoren Tabelle abzufragen Autoren, Spalte gefüllt so etwas wie diese Tabelle mit GROUP_CONCAT()

 
id title   authors 
3 Linux name name | name2 name2 

Antwort

0

Für ein einzelnes Buch, dessen ID Sie wissen, können Sie die Liste der Autoren als ein einziger Wert wie folgt zu erreichen:

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

Genau dies als in der eigentlichen Abfrage verwenden correlated subquery:

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

Vielen Dank, das war hilfreich –