我的sql server
中有2个表,在第一个表中,我正在保存节假日(officialHolidays
),在第二个表中,我正在保存用户申请的假期(appliedLeave
),>
我将2018年的所有星期六和星期日存储在officialHolidays Table
这是一个场景
我有2个用户
用户A
申请了1 dec 2018 to 10 dec 2018
的休假,因此该用户的7 days
的休假申请为B
,因为12月2日和9月9日为星期日,8月12日为非工作周六
用户1 dec 2018 to 5 dec 2018
申请了4 days
的休假,因此该用户的请假申请为Dec 1
,因为12月2日是星期日
根据我的数据库,saturday
是officialHolidays
,这个星期六在星期六工作,但是现在我将此星期六定为法定假日,我更新了appliedLeave
,现在我想更新{{ 1}}表,以便用户A
的LeaveApplied变为6,而用户B
的3变为
我想使用循环来更新用户A和用户B的顺序
这是我的更新查询
UPDATE officialHolidays SET
Active = @Active
WHERE OfficialID = @OfficialID
这就是我刚才尝试过的
DECLARE @HolidayDate AS DATE = (SELECT Date FROM officialHolidays WHERE OfficialID = @OfficialID)
IF(EXISTS(SELECT 1 FROM AppliedLeave WHERE AppliedFrom BETWEEN @HolidayDate AND @HolidayDate
OR AppliedTo BETWEEN @HolidayDate AND @HolidayDate))
BEGIN
DECLARE @LeaveTaken AS FLOAT
DECLARE @LeaveRemaining AS FLOAT
--I want to add Loop Here
END
如何在此场景中添加循环?