Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Datumswerte vergleichen und erhöhen

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von ny_unity, 10 Juli 2020.

  1. ny_unity

    ny_unity Datenbank-Guru

    Guten Morgen zusammen,

    in einer Tabelle werden die Krankheitstage geführt. Wenn ein Mitarbeiter vom 25.06.2020 - 03.07.2020 sich krank gemeldet hat, dann steht in der Tabelle für jeden Tag ein Eintrag, also 25.06.2020, 26.06.2020, 27.06.2020, 28.06.2020, 29.06.2020.... 03.07.2020 immer als extra Zeile in der Tabelle.

    Ich möchte jetzt anhand dieser Struktur prüfen, wie oft hat sich ein Mitarbeiter krank gemeldet, in diesem Fall ist es einmal, da es ein zusammenhängender Zeitraum vom 25.06.2020 - 03.07.2020 ist, in der Datenbank wären es aber 10.

    Wie kann ich einen Werte aus Zeile 1 mit Zeile 2 vergleichen und diese zusammenfassen, bzw. als einen zählen?

    Datenbanken wären Firebird oder M$SQL...

    Danke,

    Erik
     
  2. dabadepdu

    dabadepdu Fleissiger Benutzer

    Dafür verwendet man Window Functions, mssql hat glaub ich welche, firebird eher nicht, weiß nicht genau.
    Konkret wären es z.B. LAG und LEAD
     
  3. ny_unity

    ny_unity Datenbank-Guru

    Hallo,
    mit LAG habe ich es geschafft, bei einfachen Monatswechsel das hinzubekommen... aber wenn ein Mitarbeiter über mehrere Monate Langzeitkrank ist, klappt es nicht so recht... beispiel hier:
    upload_2020-7-21_13-38-8.png

    Mein Ergebnis ist aber:

    upload_2020-7-21_13-38-49.png

    Zeile 11 müsste aber wie folgt lauten: von_neu = 2019-07-23 und bis_neu = 2020-08-03

    Hat jemand einen Ansatz dafür?
     
  4. ukulele

    ukulele Datenbank-Guru

    Zeig doch mal dein Query mit dem du auf "Mein Ergebnis" kommst.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden