sql >> Databáze >  >> RDS >> Oracle

Zapište pohled Oracle DB na základě rozdílu časových razítek různých sloupců

Pokud chcete rozdíl s created_time který nemá žádnou časovou složku, pak chcete logiku jako je tato:

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;

To vrátí výsledek jako zlomky dne.




  1. Zadané parametry do Zend_Auth_Adapter_DbTable se nepodařilo vytvořit platný příkaz SQL

  2. Co je špatného na tomto připojovacím řetězci mysql?

  3. JavaScript (Postgres DB) - Jak používat připravený příkaz s polem jako parametrem v klauzuli WHERE IN ( )

  4. Jak vytvořit tabulku s cizím klíčem v SQL