Oracle
 sql >> база данни >  >> RDS >> Oracle

Конвертиране на скрипт Coldfusion в изглед на Oracle с CASE и итерация

Не познавам ColdFusion, но мисля, че разбрах логиката. Приоритетът е текущ> история> различен. Не е ясно кой ред е правилен, когато има два 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Въвеждането на SQL за намиране на човек има най-много кучета

  2. Как да актуализирате JSON колона в oracle 12.1

  3. Шифроване вътре в Oracle

  4. ORA-01797:този оператор трябва да бъде последван от грешка ANY или ALL

  5. Съпоставяне на полето ORACLE TIMESTAMP(9) към java.util.Date