मैं कोल्डफ्यूजन नहीं जानता, लेकिन मुझे लगता है कि मैं तर्क को समझ गया हूं। प्राथमिकता वर्तमान> इतिहास> अलग है। यह स्पष्ट नहीं है कि दो current
होने पर कौन सी पंक्ति सही है? पंक्तियाँ या केवल 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