Matze: MySQL - Frage zu Beziehungstabellen

Beitrag lesen

Hi dedlfix!

Drei Tabellen benötigt man nur bei einer m:n-Beziehung. Das heißt, wenn zu einem A beliebig viele (inklusive keine) B existieren können _und_ umgekehrt. Wenn zu einem Eintrag in B ein Verweis zu _einem_  Eintrag in A existieren soll, braucht es nur eine weitere Spalte in B und keine dritte Tabelle.

Oh ok, danke! Dann spar ich mir mal die ganze Arbeit.
Ich hätte nämlich auch gleich noch ein Problem mit einer GROUP BY Anweisung dabei :)

Damit ich mir nicht weiter den Kopf zerbreche, kannst du mir vielleicht grad meinen Fehler nennen.

Also die 3 Tabellen:

TabelleA
category | id
TabelleB -> Beziehungstabelle
categoryId | dataId | id
TabelleC
data | moreData | andStillMoreData | id

Mein Versuch:

SELECT TabelleA.category AS category,  
       TabelleA.id AS catId,  
       TabelleC.data AS data,  
       TabelleC.moreData AS mD,  
       TabelleC.andStillMoreData AS asmD,  
       TabelleC.id AS dId  
FROM TabelleA  
JOIN TabelleB ON TabelleB.categoryId = TabelleA.id  
JOIN TabelleC ON TabelleC.id = TabelleB.dataId  
GROUP BY TabelleB.categoryId

^^^^^^^^^^^^^^^^^^^

Dabei erhalte ich aber immer nur den jeweils ersten Wert der zutrifft.
Wieso ist das so?
Und wie krieg ich alle Datensätze aus TabelleC die in TabelleB mit Tabelle A verknüpft sind?

Danke für deine Hilfe!

Grüße, Matze