Zvoni
Erfahrenes Mitglied
Ah, OK. Habs gerade gesehen. Du hast Recht. Habe mich geirrt.Ohweia, also: die pID=6 ist laut meiner Personenliste eine Person, die nichts mit der Expedition zu tun hat, die mir bei Deiner Abfrage
SELECT
expedition.eID, expedition.expeditionsname
FROM
expedition, personen
WHERE
personen.pID=6 AND
personen.pID=expedition.LID
ausgeworfen wird, nämlich die eID 7. Nimm es mir nicht übel, aber das verstehe ich nicht!?
Du hast in der "Leiter"-Tabelle (die überflüssig ist), ein Feld "pID", welches der eigentliche Zeiger auf die Personen-Tabelle ist. Habs durcheinander gebracht.
Sempervivum hat Recht, dass du Redundanz in der Leiter-Tabelle hast (welche anderst ist als in deiner ersten Struktur).
Deine ursprüngliche Frage würde meine Lösung so aussehen:
SQL:
SELECT
expedition.expeditionsname, expedition.eID
FROM
expedition, teilnehmer, personen, leiter
WHERE
leiter.lID=expedition.lID AND
teilnehmer.eID=expedition.eID AND //DAS HIER FEHLT!
teilnehmer.pID=personen.pID AND
leiter.pID=personen.pID AND
leiter.lID=6