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

Jak vytvořit dynamický pivot s datem a dalším sloupcem v oracle?

Pokoušíte se převést 2 sloupcové datum a identifikátor, takže potřebujete 2 pivoty. Zkuste prosím níže uvedený dotaz, mělo by to fungovat. V případě jakýchkoliv dotazů se neváhejte vrátit. Funguje to v oracle, ale nejsem si jistý, jestli to zkoušíte v nějakém jiném dbms.

select * from (
select * from (
with all_data as 
(select 'NAME1' fname, 123 value, 'ATR' identif, '01-OCT-2018' mydate from dual union all
select 'NAME1' fname, 333 value, 'QTDE' identif, '01-OCT-2018'  mydate from dual union all
select 'NAME2' fname, 212 value, 'ATR' identif, '01-AUG-2018'  mydate from dual union all
select 'NAME2' fname, 123 value, 'QTDE' identif, '01-AUG-2018'  mydate from dual union all
select 'NAME2' fname, 133 value, 'ATR' identif, '01-SEP-2018'  mydate from dual union all
select 'NAME2' fname, 123 value, 'QTDE' identif, '01-SEP-2018'  mydate from dual union all
select 'NAME3' fname, 678 value, 'ATR' identif, '01-AUG-2018'  mydate from dual union all
select 'NAME3' fname, 123 value, 'QTDE' identif, '01-AUG-2018'  mydate from dual )
select identif,fname,value,mydate from  all_data)
pivot 
(
sum(value)
for mydate in ('01-AUG-2018' as "AUG-2018",'01-SEP-2018' as "SEP-2018",'01-OCT-2018' as "OCT-2018")))
pivot
(
sum("AUG-2018") "08-2018"
,sum("SEP-2018") "09-2018"
,sum("OCT-2018") "10-2018"
for identif in ('ATR' ATR,'QTDE' QTDE))
order by 1;


  1. Provádět vybrané a vícenásobné vložení jako transakci pomocí C Connector?

  2. Kdy nebo proč použít SET DEFINE OFF v databázi Oracle

  3. Mapování JPA na uživatelem definované typy Oracle

  4. Chcete-li optimalizovat dotaz v Entity Framework, zakažte CAST AS