Hallo allerseits!
Momentan brüte ich über einem
SQL-Befehl, der mir nicht gelingen will. Entweder das ist wirklich so schwierig, wie es momentan für mich aussieht, oder ich steh im Wald und seh die Bäume nicht...
Also, ich habe in meiner Datenbank die folgende Konstellation: Es gibt eine Tabelle, in der Firmen verwaltet werden und eine Tabelle, in der Mitarbeiter verwaltet werden. Zwischen den beiden Tabellen besteht eine M:N-Beziehung, d.h. eine Firma kann mehrere Mitarbeiter beschäftigen und ein Mitarbeiter kann in mehreren Firmen arbeiten. Diese M:N-Beziehung ist natürlich durch eine Zwischentabelle aufgelöst (siehe angehängtes Datenbankdiagramm. So weit so einfach. Ich muss nun einen
SQL-Befehl zusammenzimmern, der mir für jede Firma nur den alphabetisch ersten Mitarbeiter zusammen mit den Firmendaten zurückliefert. Der Harken bei der Sache (da ist immer ein Harken
). Ich kann nur auf
SQL zurückgreifen und der Spass muss unter
Access laufen. Ich habe schon den folgenden
SQL-Befehl probiert, der klappt aber nicht (liefert nur den alphabetisch 1. Mitabeiter der 1. Firma zurück) - Die Tabellennamen können leicht vom Diagramm abweichen, aber im Prinzip ist es dasselbe Problem:
SQL-Code:
SELECT
t_Unternehmen.Name,
tFirst.Unternehmer
FROM
t_Unternehmen INNER JOIN
(SELECT TOP 1
t_Unternehmen.UnternehmenID,
t_Unternehmen.Name,
t_Unternehmer.Name AS Unternehmer
FROM
t_Unternehmer INNER JOIN
(t_Unternehmen INNER JOIN
t_Unternehmen_Unternehmer ON
t_Unternehmen.UnternehmenID = t_Unternehmen_Unternehmer.UnternehmenID) ON
t_Unternehmer.UnternehmerID = t_Unternehmen_Unternehmer.UnternehmerID
ORDER BY
t_Unternehmer.Name) tFirst ON
tFirst.UnternehmenID = t_Unternehmen.UnternehmenID
Ich hoffe es gibt hier jemanden, der weiss, wie man solch eine
Query bastelt.
Viele Grüsse und schon mal vielen Dank
Frank Geisler