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

Oracle APEX — SQL — tworzenie historii sekwencyjnej i obliczanie dni między poszczególnymi fazami

Twierdzę, że już rejestrujesz wszystkie potrzebne dane, ponieważ czas trwania można wyprowadzić z istniejących danych. Możesz utworzyć widok:

create or replace  view vw_doc_timeline as
  select t.doc_entry_id, t.doc_id, t.doc_status, t.doc_date
       , case when doc_status = 'Published' then 0
              else lead(doc_date) over (partition by doc_id order by doc_entry_id)
                   - doc_date
              end as duration
  from tbl_doc_timeline t;

Następnie:

SQL> select * from vw_doc_timeline;

DOC_ENTRY_ID     DOC_ID DOC_STATUS                     DOC_DATE    DURATION
------------ ---------- ------------------------------ --------- ----------
           1        123 Planned                        05-JUN-12         10
           7        123 Draft                          15-JUN-12          5
          38        123 Approval                       20-JUN-12         10
         102        123 Published                      30-JUN-12          0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pomoc dotycząca rekurencyjnych zapytań PL SQL

  2. Autoinkrementacja w Oracle z sekwencją i wyzwalaczem - nieprawidłowa instrukcja sql

  3. jak wywołać jeden przechowywany proc z pylnika i zmodyfikować zwracany refcursor?

  4. zapytanie Oracle do porównania wszystkich wierszy o tym samym identyfikatorze w tabeli

  5. C# - Czy powinienem używać statycznego połączenia z bazą danych?