SSMS
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> SSMS

Chỉ theo dõi số ngày vắng mặt liên tục trong ngày làm việc SQL

Như tôi đã đề cập trong nhận xét, chỉ cần sử dụng WHERE . Tất nhiên, đây là một phỏng đoán mù quáng do thiếu dữ liệu mẫu (mẫu không có dữ liệu giờ làm việc):

--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. Tạo Máy chủ đã Đăng ký qua Powershell trong SSMS

  2. Powershell:Trình tạo tập lệnh SQL Server Management Studio

  3. Làm cách nào để biết vị trí của các điểm dừng tab trong trình chỉnh sửa SQL Server Management Studio?

  4. Làm cách nào để lấy mã T-SQL để tìm các bản sao?

  5. Chế độ xem lược đồ SQL Server Management Studio