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. SSMS के माध्यम से एक dtsx संपादित करें

  2. एकाधिक कॉलम के आधार पर डुप्लीकेट हटाना

  3. SQL कमांड डेटाबेस डायग्रामिंग जोड़ें

  4. मैं SQL सर्वर प्रबंधन स्टूडियो के भीतर निष्पादित प्रश्नों को कैसे देखूं?

  5. एसक्यूएल सर्वर 2012:लॉगिन नहीं बदल सकता है