Я пытаюсь выполнить запрос в Hive, где я запускаю объединение на основе оператора case. По какой-то причине у меня возникли проблемы со строками 7 и 8. Мне не удалось устранить ошибку, которая
, строка 7. Ожидаемое: AND, AS, МЕЖДУ, DIV, ILIKE, IN, IREGEXP , ЕСТЬ, КАК, НЕ, ИЛИ, REGEXP, RLIKE ПРИЧИНАЕТ: Исключение: Синтаксическая ошибка
строка 8: Обнаружено: как ожидается: И, МЕЖДУ, DIV, ILIKE, IN, IREGEXP, ЕСТЬ, КАК, НЕ , ИЛИ, REGEXP, RLIKE ПРИЧИНАЕТ: Исключение: синтаксическая ошибка
select * from dra_record_set.mark_set inv
INNER JOIN innerdb.name_set roll_table
on inv.record_id = roll_table.ply_record_id AND
roll_table.date =
(CASE
WHEN inv.purchase_day>0 AND inv.purhcase_date BETWEEN roll_table.discount_start_dt AND roll_table.discount_end_dt) THEN inv.purchase_date
ELSE WHEN (CONCAT(inv.purchase_yr,inv.purchase_mo,(CAST("15")AS INT))) AS temp_var BETWEEN roll_table.discount_start_dt AND roll_table.discount_end_dt) THEN inv.purchase_date
END AS temp_pur_dt)
WHERE inv.inroll_discount_eligible_flag =1
limit 10