
Zitat von
zoj
Hallo,
ich habe folgendes Problem:
Ich habe eine Datenbank erstellt, welche 3 Tabellen beinhaltet.
Tabelle1: Lehrer (ID/VORNAME/NACHNAME)
Tabelle2: Schueler (ID/VORNAME/NACHNAME)
Tabelle3: Rel_L_S (ID/ID_lehrer/ID_schueler)
Ich soll alle Lehrer ausgeben, welche z.B. "Heiko Warneke" unterrichten, der die ID 1 hat.
Wie krigt man das hin
Da gibt es, wie so oft, viele Wege. Einfach z.B. via Subselect:
Code:
test=*# select * from lehrer ;
id | vname | nname
----+--------+---------
1 | Max | Lehrer1
2 | Moritz | Lehrer2
3 | Oskar | Lehrer3
(3 rows)
Time: 1.204 ms
test=*# select * from schueler;
id | vname | nname
----+-----------+----------
1 | magdalena | schüler1
2 | katharina | schüler2
(2 rows)
Time: 0.964 ms
test=*# select * from rel_l_s ;
id | id_lehrer | id_schueler
----+-----------+-------------
1 | 1 | 1
2 | 2 | 1
3 | 2 | 2
(3 rows)
Time: 0.956 ms
test=*# select l.vname, l.nname from lehrer l where id in (select id_lehrer from rel_l_s where id_schueler = (select id from schueler where vname='magdalena' and nname='schüler1'));
vname | nname
--------+---------
Moritz | Lehrer2
Max | Lehrer1
(2 rows)
Andreas
Lesezeichen