SSMS
 sql >> Baza danych >  >> Database Tools >> SSMS

Śledzenie ciągłych dni nieobecności z dni roboczych tylko SQL

Jak wspomniałem w komentarzu, po prostu użyj WHERE . Jest to oczywiście ślepe przypuszczenie ze względu na brak przykładowych danych (próbka nie zawiera danych o godzinach pracy):

--I prefer CTEs over subqueries
WITH CTE AS(
    SELECT s.date_sick,
           s.employee_number,
           ROW_NUMBER() OVER (PARTITION BY employee_number ORDER BY date_sick) AS rn
    FROM dbo.sickness s)
SELECT C.date_sick,
       C.employee_number,
       DENSE_RANK() OVER (ORDER BY C.employee_number, DATEADD(DAY, -C.rn, C.date_sick)) AS sickness_id,
       wh.workinghours
FROM CTE C
     JOIN dbo.workinghours wh ON C.employee_number = wh.employee_number
WHERE wh.working_hours > 0
ORDER BY C.employee_number,
         C.date_sick;


  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Jak ustawić (połączyć) dwa klucze podstawowe w tabeli

  2. SQL Server Management Studio:Otwórz tabelę do edycji za pomocą skrótu klawiaturowego

  3. SSAS DB nie jest widoczne w Management Studio, ale można je zobaczyć w Excelu

  4. SSMS:Automatycznie zapisuj wiele zestawów wyników z tego samego skryptu SQL na osobnych kartach w programie Excel?

  5. Odzyskaj niezapisane skrypty zapytań SQL