Ich habe einen klassischen Drei-Table-Join:SQL JOIN durch Verknüpfungstabelle verschmelzenden Duplikate Komma getrennt
- Book (BookID, Titel, ...)
- Person (PersonID, Namen ...)
- PersonBookLink (BookID, PersonID, Rolle)
ich habe die klassische INNER JOIN
:
SELECT Book.Title as title, Person.Name as author
FROM PersonBookLink
INNER JOIN Book
ON PersonBookLink.BookID = Book.BookID
INNER JOIN Person
ON PersonBookLink.PersonID = Person.PersonID
;
Diese
funktioniert wie erwartet, aber ich kann mehrere Einträge für denselben Book
haben, weil es kann mehr als ein Autor
Ich mag würde eine solche Aufzeichnungen fusionieren für jeden Book
nur einen Eintrag aufweist und einem kombinierten author
Feld in das Formular "Author1, Author2, ..."
. Ist das direkt mit SQL möglich?
Ich weiß, ich kann die Datensätze in der Ergebnismenge programmatisch zusammenführen, aber das ist ziemlich chaotisch und ich möchte, wenn möglich zu vermeiden.
Ich verwende derzeit eine SQLite3-Datenbank, wenn es darauf ankommt.
Hinweis: Ich sah this answer, aber ich muss die Ergebnisse nicht zählen, sondern sie zu verketten.