Einschränkung einer N:1 Verknüpfung
Hallo in die Runde,
Ich hab folgendes Problem:
Ich hab eine Tabelle "Termine" mit einer Verknüpfung zu einer Tabelle "Mitarbeiter" und einer Verknüpfung zur Tabelle "Termine" selbst, einem Datumsfeld "Datum" und einem Uhrzeitfeld "Start".
Ich möchte die Auswahl meiner Verknüpfung "Termine" nun so einschränken das mir nur der Datensatz angezeigt wird der:
den selben Mitarbeiter hat, das selbe Datum und jetzt kommt das was ich nicht hinbekomme:
den Termin der direkt vor meinem Termin kommt!
hier ein beispiel!
hier mein Code:
a.Mitarbeiter.Nachname = b.Mitarbeiter.Nachname and a.Datum = b.Datum and a.Start > b.Start and a.Nr != b.Nr
hat einer von euch ne Idee? :)
Viele Grüße und schönen Abend
Martin
2 Antworten
-
Hallo Martin,
der vorangegangene Termin soll also optional verknüpfbar sein? Da es sich nur um einen möglichen Termin handelt würde ich in der Einschränkung erst den gesuchten Datensatz definieren und dann direkt mit b vergleichen:let earlierAppointments := a.Mitarbeiter.Termine[Datum = a.Datum and Start < a.Start]; let previousAppointment := last(earlierAppointments order by Start) b = previousTermin
Nachdem die Termine ja mit dem ausgewählten Mitarbeiter verknüpft sind, durchsuche ich im ersten Schritt diese Termine des Mitarbeiters und filtere nach Datum und früher als aktueller Termin.
Im zweiten Schritt ordne ich diese Termine aufsteigend nach Startzeit und wähle den letzten davon (der letzte Termin vor dem aktuellen Termin).
Die einschränkungsabfrage sagt dann nur noch, der wählbare Termin muss der vorher ermittelte sein. -
Wow perfekt! Vielen Dank Christoph
Content aside
- Status Answered
- vor 2 JahrenZuletzt aktiv
- 2Antworten
- 76Ansichten
-
2
Folge bereits