hallo,
ich habe eine mysql-datenbank 'hoerdb'
mit verschiedenen tabellen (nur die hier entscheidenden sind aufgeführt)
't-gesamt'
mit den Feldern
id int(5) auto_increment (Primärschlüssel)
Serie int(5)
FolgeNr varchar(50)
Titel varchar(50)
Sprecher int(11)
die tabelle
'sprecher-alle'
mit den Feldern
id int(11) auto_increment (Primärschlüssel)
sprecher longtext
und die tabelle
'ausgewählte-sprecher'
mit den Feldern (hier existiert ein Zusammengesetzter Primärschlüssel)
hörspielid int(11)
sprecherid int(11)
die tabelle 'ausgewählte-sprecher' existiert, da es ja eine m:n-beziehung zwischen hörspielen und sprechern gibt.
für die tabelle 't-gesamt' habe ich ein formular erstellt, in dem ich alle daten eingeben kann.
allerdings möchte ich auch in dem selben formular auch (wahrscheinlich wird dies per abfrage im unterformular funktionieren) die sprecher mit eingeben bzw. anzeigen lassen.
testweise habe ich in die drei tabellen schon daten eingegeben (also in 't-gesamt' hörspieltitel, -serie etc./in 'sprecher-alle' einige sprecher/ in 'ausgewählte-sprecher' die id von 't-gesamt' mit id von 'sprecher-alle' verknüpft).
ich schaffe es auch, daß mit die ausgewählten sprecher in einem unterformular angezeigt werden - allerdings alle sprecher die irgendwie mit einem hörspiel verknüpft sind. ich möchte aber, daß nur die sprecher angezeigt werden, die auch nur in dem jeweiligen hörspiel mitgewirkt haben.
die abfrage, die ich dafür erstellt habe, lautet:
SELECT `sprecher-alle`.`sprecher`
FROM `t-gesamt`
LEFT JOIN 'ausgewählte-sprecher' ON `t-gesamt`.`id` = 'ausgewählte-sprecher'.`hörspielid`
LEFT JOIN `sprecher-alle` ON `'ausgewählte-sprecher'.`sprecherid` = `sprecher-alle`.`id`
was fehlt hier, damit nur die jeweiligen sprecher des aktuell ausgewählten datensatzes (von 't-gesamt') angezeigt werden?
2. problem
bislang kann ich die beziehungen zwischen hörspielen in 't-gesamt' und `sprecher-alle` nur erstellen, indem ich die tabelle 'ausgewählte-sprecher' öffne und die id's von den anderen beiden tabellen eingebe. dafür gibt es doch bestimmt auch eine elegantere/einfachere lösung, oder?
Abfrage
Moderator: Moderatoren
Re: Abfrage
weiß denn keiner einen rat?!