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