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. Microsoft Sql ServerManagmentstudioのバックアップサイズがマイナスになります

    2. トリガーの作成-DECLAREでのエラー

    3. phpMyAdmin(MySQL)でSPを作成するにはどうすればよいですか?

    4. XAMPPを使用するMacのphpMyAdminでパスワードを変更しましたが、localhost/phpmyadminにアクセスできなくなりました