В настоящее время у меня запущен запрос на усреднение результатов опросов операторов. Мы используем диапазон дат LastDayOfTheQuarter и 180 дней назад, чтобы рассчитать эти оценки. Я столкнулся с проблемой для этого текущего квартала.
Один из моих агентов не получал опросов в 2020 году, в результате чего запрос не получает текущий последний день четверти и 180 дней назад результатов.
Код, который я использую:
SELECT
Agent,
U.Position,
U.BranchDescription,
(ADDDATE(LastDayOfQuarter, -180)) AS MinDate,
(LastDayOfQuarter) AS MaxDate,
COUNT(DISTINCT Response ID) as SurveyCount,
AVG(CASE WHEN Question ID = Q1_2 THEN Answer Value END) AS EngagedScore,
AVG(CASE WHEN Question ID = Q1_3 THEN Answer Value END) AS KnowledgableScore,
AVG(CASE WHEN Question ID = Q1_6 THEN Answer Value END) AS ValuedScore
FROM qualtrics_responses
LEFT JOIN date D
ON (D.`Date`) = (DATE(`End Date`))
LEFT JOIN `users` U
ON U.`UserID` = `Agent ID`
WHERE `Agent` IS NOT NULL
AND DATE(`End Date`) <= (`LastDayOfQuarter`)
AND DATE(`End Date`) >= (ADDDATE(`LastDayOfQuarter`, -180))
GROUP BY `Agent`, (ADDDATE(`LastDayOfQuarter`, -180))
Я знаю, что проблема связана с тем, как я присоединяюсь к датам, и поскольку у него нет результата в текущем году, объединение даты окончания до даты не захватывает желаемый диапазон дат. Я не могу придумать альтернативы. Любая помощь приветствуется.