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

Oracle APEX - SQL - Създаване на последователна история и изчисляване на дните между всяка фаза

Бих казал, че вече улавяте всички показатели, от които се нуждаете, тъй като продължителността може да бъде изведена от съществуващите данни. Можете да създадете изглед:

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;

След това:

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. Функция RAWTONHEX() в Oracle

  2. ODP.NET подлежи ли на разпространение?

  3. Имам вмъкване в израз, но има грешка със запетая и просто не мога да я поправя

  4. Функция за разделяне в Oracle на стойности, разделени със запетая, с автоматична последователност

  5. Задействания за превенция