Вставка записи в таблицу с циклом 3 через 3
Есть необходимость вставить запись в цикле 3/3 в поле Employee за определенный месяц где первый день месяца начинается с Михаила, а через 3 дня в поле Employee вставляется Ирина, затем через 3 дня снова Михаил и так до конца месяца. Необходимое поле для изменение я за комментировал
Вот, что есть:
DROP TABLE IF EXISTS Nums
CREATE TABLE dbo.Nums(DataAdd date
,WeekDayName VARCHAR(15)
,Employee VARCHAR(8)
,Salary INT
);
DECLARE @StartDate date = '2024-05-01'
,@EndDate date = '2024-06-01'
,@Employee1 VARCHAR(6) = 'Михаил'
,@Employee2 VARCHAR(5) = 'Ирина'
WHILE @StartDate < @EndDate
BEGIN
INSERT INTO dbo.Nums (DataAdd, WeekDayName, Employee, Salary)
SELECT [DateAdd] = @StartDate
,WeekDayName = DATENAME(dw, @StartDate)
,/* Employee = CASE
WHEN DATEPART(DD, @StartDate) % DAY(@StartDate ) = 31 THEN 'Михаил'
ELSE 'Ирина'
END*/
,Salary = CASE
WHEN DATEPART(dw, @StartDate) = 1 THEN 5000 -- в понедельник ставка увеличена
ELSE 4000
END
SET @StartDate = DATEADD(DD, +1, @StartDate)
END
SELECT * FROM Nums -- вызов