SSMS
 sql >> база данни >  >> Database Tools >> SSMS

Проследяване на непрекъснати дни на отсъствие от работни дни само SQL

Както споменах в коментара, просто използвайте WHERE . Това, разбира се, е сляпо предположение поради липса на извадкови данни (извадката няма данни за работното време):

--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. Как да настроя свойството Allow Nulls в дизайнера на таблици на SSMS да бъде винаги false?

  2. Как да премахнете всички таблици в база данни на SQL Server?

  3. SQL Management Studio няма да отваря скриптове при двойно щракване

  4. Как мога да изпълня набор от .SQL файлове от SSMS?

  5. Възстановена база данни липсват изгледи, съхранени процеси и външни ключове