У меня есть запрос, цель состоит в том, чтобы позволить пользователю передавать начальную и конечную даты для выбора продаж клиента в пределах диапазона.Кроме того, есть два подзапроса, один из которых получает первую дату заказа клиента, а другой - последнюю дату заказа клиента до выбранного диапазона дат.
Запрос работает нормально до тех пор, пока я не добавлю оператор случая, который пытается создать несколько групп клиентов на основе нового статуса клиента, а также статуса повторного набора клиентов.
Я пытался несколько раз перестроить подзапросы, но я думаю, что проблема в утверждении case.Что касается псевдонимов, то текущая конфигурация немного сбивает с толку, подзапросы составляются, а не объединяются по отдельности, поэтому соглашения об именах странные, но опять же, запрос работает до тех пор, пока я не попытаюсь добавить оператор case.
К сожалению, я неЯ не знаю достаточно, чтобы понять, в чем проблема, поэтому любая помощь будет принята с благодарностью.Ниже приводится регистр.
Возвращается ошибка
Столкновение с типом операнда: дата несовместима с int
Код:
CASE
WHEN LAST_ORD.FIRST_ORDER BETWEEN @START_DATE AND @END_DATE
THEN 'NEW IN SELECTED PERIOD'
WHEN LAST_ORD.FIRST_ORDER <= @END_DATE - 365
THEN 'NEW IN LAST YEAR'
WHEN LAST_ORD.LAST_ORDERED < @START_DATE - 730
THEN 'REBOARDED 2+Y INACTIVE'
WHEN LAST_ORD.LAST_ORDERED < @START_DATE - 365
THEN 'REBOARDED 1+Y INACTIVE'
ELSE 'ACTIVE CUSTOMER'
END AS CUST_HIST