У меня есть таблица, которая отслеживает письма, которые мы отправляем нашим клиентам. Мы также отслеживаем статус письма в этой таблице, и, в частности, мы хотим знать, сколько людей, получивших письмо, согласились связаться с ним снова.Альтернатива оператору Switch для группировки результатов - MS Access
Эта часть проста, но теперь меня попросили сгруппировать результаты по заранее заданным неделям (например, неделя 1, неделя 2 и т. Д.). Я использую оператор switch для этой цели, но теперь, когда мы находимся в 20-й или около того неделе, MS Access заявляет, что запрос слишком сложный.
Вот мой код - с упрощенным упрощением для краткости. На самом деле у нас действительно есть недели 1-20 в действительном операторе switch, и именно это заставляет Access не обрабатывать запрос.
SELECT Count([Letter Status].Patient_ID) AS CountOfPatient_ID, Switch([Date_Returned] Between #10/25/2011# And #10/31/2011#,"Week 1") AS Week
FROM [Letter Status]
WHERE ((([Letter Status].Letter_Status)="Agreed to be contacted"))
GROUP BY Switch([Date_Returned] Between #10/25/2011# And #10/31/2011#,"Week 1");
Поскольку инструкция switch не работает, мне было интересно, был ли более логичный способ обработки результатов по неделям. Наше временное решение включает в себя обработку одной недели за один раз и добавление результатов в отдельную таблицу. Тем не менее, я уверен, что это противоречит нормализации db, и если есть лучший способ сделать это, я хотел бы узнать.
Пожалуйста, помогите.
Отличная идея, спасибо. Поскольку моя неделя 1 действительно коррелирует с календарной неделей 40 - я вычитаю 39. Это в значительной степени решает все, за исключением наших последних недель (с тех пор, как мы начинаем в 2012 году) появляются как -38, -37 и -36). Было бы лучше всего создать таблицу поиска с корреляционными значениями (т. Е. -38 = неделя 1), или было бы лучше оценить их с помощью инструкции IIf? Я склоняюсь к смотровому столу. – jerry
@Jerry Какой номер Доступ к неделе 1 должен иметь в вашей системе нумерации? – RedFilter
I.e., повторяют ли число недель каждый год, или они просто продолжают накапливаться? – RedFilter