Мне нужен ежедневный снимок того, сколько сотрудников занято в любой день (определяется как @date между Start_Date & End_Date), с одной строкой на дату.
В какой-то момент приведенный ниже скрипт вернул бы все ежедневные снимки, но каждый из них был возвращен в отдельном окне результатов. Я не смог заставить запрос объединить все результаты, чтобы вставить каждый новый результат в #PLEASEWORK
.
Мне нужно, чтобы ниже работало два дня подряд. Использует int
даты. Я унаследовал эту проблему и собираю таблицу дат, чтобы обойти эту проблему.
CREATE TABLE #PLEASEWORK
(
[Date] INT
,Division_Description VARCHAR (100)
,[Count] INT
)
DECLARE @cnt AS INT
DECLARE @DATE AS INT
SET @CNT = '20181001'
WHILE @cnt >= @DATE
BEGIN
SELECT @DATE = '20181031' - 1
TRUNCATE TABLE #PLEASEWORK
INSERT INTO #PLEASEWORK
SELECT
@DATE [date]
,Division_Description
,COUNT(*) [Count]
--INTO #PLEASEWORK
FROM EmpMaster
WHERE
([Start_Date] <= @DATE
AND Leaving_Date = 0)
OR ([Start_Date] <= @DATE
AND Leaving_Date > @DATE)
GROUP BY
Division_Description
SET @cnt = @cnt + 1
CONTINUE
SELECT *
FROM #PLEASEWORK
END