Ich kenne ColdFusion nicht, aber ich glaube, ich habe die Logik verstanden. Priorität ist aktuell> Historie> anders. Es ist nicht klar, welche Zeile richtig ist, wenn es zwei current gibt Zeilen oder nur different Zeilen, also markiere ich die Zeile mit mindestens valid_from in diesem Fall. Wenn es Ihnen egal ist, können Sie diesen Parameter weglassen (entfernen Sie unit_valid_from von row_number 's order by Klausel):
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