sql >> Database >  >> RDS >> Oracle

Hoe maak je een dynamische spil met datum en een andere kolom in orakel?

U probeert de datum en ID van 2 kolommen om te zetten, dus u hebt 2 pivots nodig. Probeer onderstaande query, het zou moeten werken. Aarzel niet om bij vragen terug te komen. Dit werkt in oracle, maar weet niet zeker of je het in andere dbms probeert.

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. Hoe triggers in laravel te gebruiken?

  2. Mysql - update tabelkolom uit een andere kolom op basis van volgorde

  3. Hoe kan ik een afgeleide tabelquery die beter presteert dan het JOINed-equivalent verder optimaliseren?

  4. bereken een gemiddelde zonder decimalen