phpbar.de logo

Mailinglisten-Archive

Re: Mysql Abfrage über mehrere Tabellen

Re: Mysql Abfrage über mehrere Tabellen

Michael Kinne kinne at futurenet.de
Die Jul 13 16:05:18 CEST 2004


Sorry das ich mich erst jetzt zurückmelde!

> was soll er dann in der Einrichtung? Putzen?

Natürlich soll er nicht putzen.

Mein Gedankengang war folgender, wenn ich einen Teilnehmer anlege,
dann erst nur seine Stammdaten und die Verknüpfung zur Einrichtung
erst später ordne ich den Kursen verschiedene Teilnehmer zu


Habe jetzt auch die Relationstabelle nach folgenden Muster umgestellt

einrichtung    dozent    kurs    teilnehmer

wenn ich jetzt einen neuen Dozenten anlege, steht folgendes in dieser
Tabelle

einrichtung_id    dozenten_id    1    1

zur erklärung einrichtung_id entsprechend der Einrichtung von wo der dozent
aangelegt wird
dozenten_id ist auto_increment
und die 1 bei kurs und teilnehmer ist gleichbedeutend der 0

wenn ich jetzt einen neuen Kurs anlege, folgender Eintrag

einrichtung_id    dozenten_id    kurs_id    1

kurs_id ist auch_increment

jetzt lege ich noch einen neuen teilnehmer an

einrichtung_id    1    1    teilnehmer_id

erklärung meine Überlegung weiter oben

wenn ich jetzt einem Kurs verschieden Teilnehmer zuordne, folgender Eintrag

einrichtung_id    dozenten_id    kurs_id    teilnehmer_id

Also die Tabelle sieht dann nach Einträgen für 2 Dozenten, Kursen und
Teilnehmer so aus

vhs    dozent    kurs    teilnehmer
2            2        1            1                Neuer Dozent
2            3        1            1                Neuer Dozent
2            2        2            1                Neuer Kurs
2            3        3            1                Neuer Kurs
2            1        1            2                Neuer Teilnehmer
2            1        1            3                Neuer Teilnehmer
2            2        2            2                Teilnehmer an Kurs
angemeldet
2            3        3            3                Teilnehmer an Kurs
angemeldet


Jetzt habe ich folgendes Problem , wenn ich einen neuen Teilnehmer an einem
bestehenden Kurs anmelden möchte
soll er mir nur die anzeigen die noch nicht in diesem Kurs angemeldet sind
( z.Bsp Teilnehmer 3 in Kurs 2 )

Versuche das mit folgender Abfrage, klappt aber nicht

SELECT teilnehmer.teilnehmer_id, teilnehmer.teilnehmer_name,
teilnehmer.teilnehmer_vorname, teilnehmer.teilnehmer_strasse,
teilnehmer.teilnehmer_hausnummer, teilnehmer.teilnehmer_plz,
teilnehmer.teilnehmer_ort
FROM bildungseinrichtung, dozenten, kurse, teilnehmer,
vhs_dozent_kurs_teilnehmer_rel
WHERE bildungseinrichtung.bildungseinrichtung_id =
vhs_dozent_kurs_teilnehmer_rel.bildungseinrichtung_id
AND bildungseinrichtung.bildungseinrichtung_id = '$iEinrichtungs_id'
AND dozenten.dozenten_id = vhs_dozent_kurs_teilnehmer_rel.dozenten_id
AND dozenten.dozenten_id = '1'
AND kurse.kurs_id = vhs_dozent_kurs_teilnehmer_rel.kurs_id
AND kurse.kurs_id = '1'
AND teilnehmer.teilnehmer_id = vhs_dozent_kurs_teilnehmer_rel.teilnehmer_id
ORDER BY teilnehmer.teilnehmer_name, teilnehmer.teilnehmer_vorname,
teilnehmer.teilnehmer_strasse ASC

was ist falsch daran?
Danke im voraus für die Hilfe!

Gruß Micha


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive