Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Konwertuj skrypt Coldfusion w widoku Oracle za pomocą CASE i iteracji

Nie znam ColdFusion, ale chyba zrozumiałem logikę. Priorytet jest aktualny> historia> inny. Nie jest jasne, który wiersz jest poprawny, gdy są dwa current wiersze lub tylko different wiersze, więc zaznaczam wiersz z minimalnym valid_from W takim wypadku. Jeśli cię to nie obchodzi Możesz pominąćten parametr (usuńunit_valid_from z row_number order by klauzula):

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. Funkcja agregująca w zadanym przedziale czasu

  2. Czy to prawdopodobny błąd Oracle, czy czegoś mi brakuje?

  3. Biblioteka zarządzana ODP.NET rozpoznaje alias, ale biblioteka 32-bitowa nie

  4. Czy Oracle 12 ma problemy z lokalnymi typami kolekcji w SQL?

  5. Numer wiersza w serwerze sql, taki jak LINE w USER_SOURCE oracle