Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Schreiben Sie die Oracle-DB-Ansicht basierend auf unterschiedlichen Spaltenzeitstempelunterschieden

Wenn Sie den Unterschied mit der created_time möchten das keine Zeitkomponente hat, dann möchten Sie eine Logik wie diese:

select msg_guid,
       (max(case when payload_type = 1 then created_time end) -
        (case when max(case when payload_type = 2 then created_time end) <>
                   trunc(max(case when payload_type = 2 then created_time end))
              then max(case when payload_type = 2 then created_time end) 
              when max(case when payload_type = 3 then created_time end) <>
                   trunc(max(case when payload_type = 3 then created_time end))
              then max(case when payload_type = 3 then created_time end) 
        end)
        ) as diff              
from table t
group by msg_guid;

Dies gibt das Ergebnis als Bruchteile eines Tages zurück.