sql >> Databasteknik >  >> RDS >> Oracle

Oracle APEX - SQL - Skapa en sekventiell historik och beräkna dagar mellan varje fas

Jag skulle hävda att du redan samlar in alla mätvärden du behöver, eftersom varaktigheten kan härledas från befintliga data. Du kan skapa en vy:

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;

Sedan:

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. Java-program för bokning av tidbokningar för läkare (mysql)...har problem med att utforma mötesschemat

  2. Inre Sammanfogning av tre bord

  3. PHP SQL:Hur man sparar data till flera databaser från ett HTML-formulär ELLER hur man kopierar data från en databas till en annan databas automatiskt

  4. Att ställa in ett objekt som returneras från PDO i sin egen klass