Я работаю с запросом, который мне дали от клиента, но у нас разные языки SQL. Мы используем Redshift, который не включает в себя функции iif
, и, честно говоря, я никогда не использовал. Я знаю, что это в принципе другой способ CASE
утверждения, верно? Вот запрос
select
*
,iif(datediff(day,
lag(event_date, 1, '1900-01-01') over (partition by client_id, error_id order by event_date),
event_date) <= 1
,'yes', 'no') flag
from table.a
Я думал, что это сработает, но продолжает выдавать ошибку:
select
*,
CASE WHEN datediff(day, lag(event_date, 1, '1900-01-01')) OVER (PARTITION BY client_id, errord_id ORDER BY event_date) <= 1 THEN 'YES' ELSE 'NO' END flag
from dsa.sas_days
Может ли кто-нибудь помочь мне перенастроить это?