Wie geht folgende Abfrage? (einfacher Join, stehe aber aufm Schlauch)

DBanno

Neuer Benutzer
Beiträge
2
Hallo,
bin blutiger Anfänger und übe gerade Abfragen, stehe aber bei einer Aufgabe auf dem Schlauch.
Folgende Tabellen sind gegeben:

TabellenSpaltenFremdschlüssel
ABTEILUNG( ABTNR , ABTNAME , BUDGET , CHEFNR )CHEFNR » PERSONAL.PERSNR
AKTE( PERSNR , DATUM , POSITION , GEHALT )PERSNR » PERSONAL.PERSNR
PERSONAL( PERSNR , VNAME , NNAME , PROJNR , TELEFONNR , GEHALT )PROJNR » PROJEKT.PROJNR
PROJEKT( PROJNR , BUDGET , ABTNR )ABTNR » ABTEILUNG.ABTNR


Meine Aufgabe ist es, den Abteilungsleiter von Heinz herauszufinden.
Irgendwie stolper ich hier, da meine Abfrage eine Subquery enthält (sind lediglich joins gefordert) und es bestimmt auch leichter geht:

select *
from personal
where persnr=(

select chefnr
from personal​

join projekt on personal.projnr=projekt.projnr
join abteilung on projekt.abtnr=abteilung.abtnr​

where personal.vname='Heinz')​

Wie geht es einfacher? Danke für eure Hilfe!!
 
Werbung:
Werbung:
Hi,

so sollte es gehen, wenn ich das richtig verstanden habe und der
Mitarbeiter nur 1 Projekt hat. Sonst kann es mehrere Rows als Ergebnis geben.

Halt eine je Projekt, selbst wenn der Chef gleich ist. Dies könnte man aber auch noch abstellen.

Hoffe das kein Tippfehler drin ist.

Gruss

Bernd

Code:
SELECT pers.*, proj.*, abt.*, chef.*
    FROM personal pers
    LEFT JOIN prokect as proj on proj.projnr = pers.projnr
    LEFT JOIN ABTEILUNG abt on abt.abtnr = proj.abt.nt
    LEFT JOIN personal as chef on chef.chefnr = abt.chefnr
WHERE pers.vname='Heinz';
 
Zurück
Oben