tohng
Neuer Benutzer
- Beiträge
- 3
Hallo,
ich bin neu und unerfahren in Datenbankdingen und hoffe hier auf einen Tipp für meine Abfragesyntax. Danke vorab für Eure Nachsicht...
Ich habe eine Tabelle mit Publikationen und eine Tabelle mit Autoren.
Viele Publikationen haben mehr als einen Autor, und ein Autor kann auch mehrere Publikationen schreiben.
Daher gibt es noch eine MxM-Tabelle, die Publikationen und Autoren verknüpft.
Meine Abfrage sieht so aus:
Als Output erhalte ich für jede Publikation so viele Zeilen, wie sie Autoren hat.
Mein Ziel ist es, als Output nur eine Zeile pro Publikation zu erhalten. Die Autoren sollten in dieser Zeile nacheinander stehen. So könnte ich leichter eine Publikationsliste erstellen.
Statt
hätte ich gerne
Gibt es hierfür eine SQL-Abfragemöglichkeit?
ich bin neu und unerfahren in Datenbankdingen und hoffe hier auf einen Tipp für meine Abfragesyntax. Danke vorab für Eure Nachsicht...
Ich habe eine Tabelle mit Publikationen und eine Tabelle mit Autoren.
Viele Publikationen haben mehr als einen Autor, und ein Autor kann auch mehrere Publikationen schreiben.
Daher gibt es noch eine MxM-Tabelle, die Publikationen und Autoren verknüpft.
Meine Abfrage sieht so aus:
Code:
SELECT
publication.uid, publication.title, person.last_name, person.first_name
FROM publication
LEFT JOIN publication_person_mm ON publication.uid = publication_person_mm.uid_local
LEFT JOIN person ON publication_person_mm.uid_foreign = person.uid
Als Output erhalte ich für jede Publikation so viele Zeilen, wie sie Autoren hat.
Mein Ziel ist es, als Output nur eine Zeile pro Publikation zu erhalten. Die Autoren sollten in dieser Zeile nacheinander stehen. So könnte ich leichter eine Publikationsliste erstellen.
Statt
Code:
pub1, title1, autor11
pub1, title1, autor12
pub1, title1, autor13
hätte ich gerne
Code:
pub1, title1, autor11, autor12, autor13
Gibt es hierfür eine SQL-Abfragemöglichkeit?