Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
siffkroete

Join mit Max verwenden

Empfohlene Beiträge

Hi Leute

Ich habe 2 Tabellen: Mitarbeiter  und Pensum (1->n). Ein Mitarbeiter hat verschiedene Pensen je nach Datum.
Jetzt möchte ich wissen welches Pensum gilt für welchen Mitarbeiter aktuell. Es soll also den Datensatz liefern mit Datum kleiner gleich 2016.03.14. Was aber wenn mehrere Daten kleiner als 2016.03.14 sind? Dann soll es das nächst aktuellste Datum ausgeben. Also MAX(Alle Daten<=2016.03.14). Ich habe es folgenderweise versucht:

SELECT Mitarbeiter.Name,Mitarbeiter.Vorname, Pensum.AnzahlStunden, MAX(Pensum.Datum)
FROM Mitarbeiter INNER JOIN Pensum
WHERE Datum<='2016.03.14';

Leider wird das Maximum von der ganzen Komplementärmenge Name,Vorname X Pensum, Datum herausgegeben und nicht das Maximum für jeden Mitarbeiter. Das ist nur ein Datensatz. Ich will aber für jeden Mitarbeiter ein Datensatz mit dem aktuellen Pensum. Was tun? Kann man irgenwie JOIN mit MAX kombinieren?
 

 

bearbeitet von siffkroete

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo,
ich nehme mal an das die beiden Tabellen über einen Mitarbeiterschlüssel verknüpft sind. Wenn dem so ist, versuch mal das:

 

select max(p.datum), m.name, m.vorname, p,AnzahlStunden

from pensum p join mitarbeiter m on p.key=m.key

group by m.name, m.vorname, p,AnzahlStunden

 

vg

Wilfried

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesen Inhalt zu abonnieren  

×