Ich mach dir mal die Abfrage für eine N:M Beziehung:
SQL-Code:
SELECT fdb_musik.*,
fdb_komponisten.vorname,
fdb_komponisten.nachname,
fdb_komponisten.Webseite
FROM
fdb_musik LEFT OUTER JOIN fdb_kom ON fdb_musik.musikid=fdb_kom.fdb_musik_musikid
LEFT OUTER JOIN fdb_komponisten ON fdb_komponisten.kid=fdb_kom.fdb_komponisten_kid
Hinweise:
1.) ich habe LEFT OUTER JOIN anstelle von INNER JOIN verwendet, damit auch die Datensätze von Tabelle "fdb_musik" geliefert werden, bei denen kein Komponist eingetragen ist
2.) das Feld "WebSeite" ist viel zu kurz; mach varchar(255) draus
3.) für meinen Geschmack übertreibst du es mit dem Prefix "fdb_"; weniger ist manchmal mehr
4.) weitere Tabellen lassen sich wie oben gezeigt mit LEFT OUTER JOIN verknüpfen. Mach mal mit fdb_label weiter.
Nachtrag:
Bei den Tabellen für die N:M Verknüpfung hast du jeweils einen eigenen Index auf die Fremdschlüsselfelder gelegt.
Es sollte aber nur
ein Index, der
beide Felder umfasst vorhanden sein. Dieser Index sollte Unique sein, damit doppelte Einfügungen verhindert werden.