Ok, ich habe einen folgenden Code Datensätze zu markieren, die höchste month_cd in Tabl mit Binärmerker haben:CASE-Anweisungen in Hive
Select t1.month_cd, t2.max_month_cd
,CASE WHEN t2.max_month_cd != null then 0 else 1 end test_1
,CASE WHEN t2.max_month_cd = null then 0 else 1 end test_2
from source t1
Left join (
Select
MAX(month_cd) as max_month_cd
From source
) t2
on t1.month_cd = t2.max_month_cd;
Es mir gerade nach vorne scheint, aber führen sie zurückkehren ist:
month_cd max_month_cd test_1 test_2
201610 null 1 1
201611 201611 1 1
Macht null Sinn für mich, und scheint zu offensichtlich zu sein, um ein Fehler in der Ausführungsengine zu sein. Was vermisse ich?