私はColdFusionを知りませんが、ロジックは理解できたと思います。優先度は現在>履歴>異なります。 current
が2つある場合、どちらの行が正しいかは明確ではありません。 行またはdifferent
のみ 行なので、最小のvalid_from
で行をマークします このような場合には。気にしない場合は、このパラメーターを省略できます(unit_valid_from
を削除します) row_number
から のorder by
条項):
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