Синтаксис для Выражение регистра :
CASE
WHEN boolean condition THEN result
[WHEN ...]
[ELSE result]
END
В вашем операторе выбора отсутствует END
. просто добавьте ключевое слово END
после условия then
, как показано в запросе ниже. Должно работать нормально.
query_vaso_mv = """
select icustay_id, itemid, date_diff('second', timestamp '1970-01-01 00:00:00', starttime) as starttime, date_diff('second', timestamp '1970-01-01 00:00:00', endtime) as endtime,
case when itemid in (30120,221906,30047) and rateuom='mcg/kg/min' then cast(rate as DECIMAL(10,3)) end
from mimiciii.inputevents_mv
where itemid in (30128,30120,30051,221749,221906,30119,30047,30127,221289,222315,221662,30043,30307)
order by icustay_id, itemid, starttime
"""