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