SQL Abfrage - Join mehrfache Einträge

Lenni2309

Grünschnabel
Hallo,

Vielleicht kann mir ja jemand helfen. Ich hab ein Problem mit einer SQL Abfrage. Ich habe folgende drei Tabellen (Jeweils mit entry und einem Wort):
4.jpg
Nun hab ich folgende Abfrage erstellt:
SQL:
SELECT DISTINCT
    m.entry AS "Eintrag",
    GROUP_CONCAT(m.masculineWords ORDER BY m.masculineWords SEPARATOR ', ') AS "Maskuline Wörter",
    GROUP_CONCAT(f.feminineWords ORDER BY f.feminineWords SEPARATOR ', ') AS "Feminine Wörter",
    GROUP_CONCAT(n.neutralWords ORDER BY n.neutralWords SEPARATOR ', ') AS "Neutrale Wörter"
FROM
    entries_masculinewords m
    LEFT OUTER JOIN entries_femininewords f
        ON m.entry = f.entry
    LEFT OUTER JOIN entries_neutralwords n
        ON m.entry = n.entry
GROUP BY
    m.entry

Und bekomme dementsprechend das ausgeliefert:
7.JPG

Ich möchte aber gerne, dass jedes Wort nur einmal angezeigt wird. Heißt in der Spalte Maskuline Wörter sollte nur "abenteuer, agress" stehen. In der Spalte Feminine Wörter "abhängig, angenehm, aufmerksam" und in Neutrale Wörter "aufmerksam".
Leider hab ich nicht die großen SQL Kenntnisse.
Ich wäre aufjedenfall dankbar wenn mir jemand helfen könnte kann mir ja jemand helfen.
 
Zuletzt bearbeitet von einem Moderator:
GROUP_CONCAT(). Könnte eine MySQL-Datenbank sein.

Wenn ja, gibt es da den Zusatz DISTINCT
SQL:
GROUP_CONCAT(DISTINCT m.masculineWords ORDER BY m.masculineWords SEPARATOR ', ') AS "Maskuline Wörter",
 
Zurück