Einerseits denkst du viel zu kompliziert, andererseits zu einfach. Dazu kommt eine leichte Fehlkonstruktion der Tabellen.
Du kannst es dir im Moment noch einfach machen, da in den Kundenlieferadressen die kundenid noch enthalten ist. Du benötigst für die aktuelle Anforderung die dritte Tabelle (noch) nicht:
Code:
SELECT * FROM KUNDENSTAMM
JOIN KUNDENLIEFERADRESSEN ON KUNDENSTAMM.ID = KUNDENLIEFERADRESSEN.IDKUNDEN
WHERE KUNDENSTAMM.ID = <Deine Kunden-ID>
Wenn du die Fehlkunstruktion entfernst, ist es etwas "komplizierter".
Die Fehlkonstruktion ist die Kunden-ID in der Tabelle KUNDENLIEFERADRESSEN. Mit der n:m-Beziehung sollte das Feld dort eigentlich nicht mehr vorhanden sein.
Das entsprechende
SQL-Statement sieht dann etwa so aus:
Code:
SELECT * FROM KUNDENSTAMM
JOIN ADRESSENSTAMM ON KUNDENSTAMM.ID = ADRESSENSTAMM.IDKUNDE
JOIN KUNDENLIEFERADRESSEN ON ADRESSENSTAMM.IDLIEFERADRESSEN = KUNDENLIEFERADRESSEN.ID
WHERE KUNDENSTAMM.ID = <Deine Kunden-ID>
Was dir eigentlich gefehlt hat, war die Where-Bedingung. BTW: Du solltest mit Parametern arbeiten und nicht die Werte direkt ins
SQL einbauen. Aber das ist noch ein anderes Thema.
Es kann sein, dass die SQLs nicht ganz sauber sind, da ich die nicht kontrollieren kann und mir auch die IDs nicht alle genau bekannt sind. Könnte also sein, dass du noch ein bisschen nacharbeiten musst.