siffkroete 0 Geschrieben 14. März 2016 Melden Teilen Geschrieben 14. März 2016 (bearbeitet) Hi LeuteIch 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 PensumWHERE 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 14. März 2016 von siffkroete Zitieren Link zu diesem Kommentar
wilgin 11 Geschrieben 6. April 2016 Melden Teilen Geschrieben 6. April 2016 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.