Mailinglisten-Archive |
> -----Ursprüngliche Nachricht-----
> Von: Wolfgang Oberhoff [mailto:wo_(at)_simple-net-consult.com]
> Gesendet: Montag, 8. Januar 2001 10:58
> An: 'mysql-de_(at)_lists.4t2.com'
> Betreff: select einer m:n Beziehung
>
>
> hallo leute,
>
> ich habe folgendes problem:
>
> ich habe eine tabelle mit seminar-daten (semid, titel, inhalt, etc...)
> ich habe eine weitere tabelle mit fachbereichen (bid,
> bezeichnung, etc)
> ich habe eine dritte tabelle seminar-fachbereich-zuordnung.
> dort wird jedem
> seminar ein oder MEHRERE fachbereiche zugeordnet (zuordid, semid, bid)
>
> das mache ich, weil ein seminar auch in verschiedenen fachbereichen
> auftauchen soll. soweit so gut.
> jetzt bin ich zu blöd ein select zu entwickeln, mit dem ich
> alle seminare
> eines fachbereichs bestimmen kann. wer kann mir auf die
> sprünge helfen??
Nehmen wir an ich habe richtig verstanden. Ich gehe einmal von folgenden
Voraussetzungen aus:
Name der Tabelle Seminardaten: SemDat
Name der Tabelle Fachbereiche: FBereich
Name der Connectortabelle: ConSdFb
bid des gesuchten Fachbereichs: 193A34XS
In dem Fall sähe meine Lösung so aus:
SELECT titel, inhalt FROM SemDat
LEFT JOIN ConSdFb USING( semid )
LEFT JOIN FBereich AS fb USING( bid )
WHERE fb.bid = 193A34XS
;
Ist leider nicht getestet, dafür hoffentlich hilfreich. Man könnte
LEFT JOIN/USING-Bedingungen durch eine verkettete WHERE-Klausel
ersetzen, nach G. Stepken ist das aber bei MySQL aber nur halb so
effizient wie mein Vorschlag.
mfg.,
--
Matthias Lampert, Hamburg
---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive