ColdFusion neznám, ale myslím, že jsem pochopil logiku. Priorita je aktuální> historie> jiná. Není jasné, který řádek je správný, když existují dva current řádky nebo pouze different řádky, takže řádek označím minimem valid_from v takovém případě. Pokud je vám to jedno, můžete tento parametr vynechat (odstraňte unit_valid_from z row_number order by klauzule):
select units.*,
case when 1 =
row_number() over (
partition by org_id
order by case origin when 'current' then 1 when 'history' then 2 else 3 end,
unit_valid_from ) then 1 else 0 end as is_correct_version
from units