Ik ken ColdFusion niet, maar ik denk dat ik de logica begreep. Prioriteit is actueel> geschiedenis> anders. Het is niet duidelijk welke rij juist is als er twee current . zijn rijen of alleen different rijen, dus ik markeer rij met minimaal valid_from in dat geval. Als het je niet kan schelen, kun je deze parameter weglaten (verwijder unit_valid_from van row_number 's order by clausule):
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