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

Kontingenční dotaz Oracle SQL

Oracle 11g a vyšší

Od Oracle 11g nyní můžete používat PIVOT operátor k dosažení tohoto výsledku:

create table tq84_pivot (
  month number,
  value number
);

insert into tq84_pivot values(1, 100);
insert into tq84_pivot values(2, 200);
insert into tq84_pivot values(3, 300);
insert into tq84_pivot values(4, 400);
insert into tq84_pivot values(5, 500);
insert into tq84_pivot values(6, 600);
--
insert into tq84_pivot values(1, 400);
insert into tq84_pivot values(2, 350);
insert into tq84_pivot values(4, 150);

select 
  *
from
  tq84_pivot
pivot (
   sum (value) as sum_value for
     (month) in (1 as month_jan,
                 2 as month_feb,
                 3 as month_mar,
                 4 as month_apr,
                 5 as month_mai,
                 6 as month_jun,
                 7 as month_jul,
                 8 as month_aug,
                 9 as month_sep,
                10 as month_oct,
                11 as month_nov,
                12 as month_dec)
);


  1. Jak používat EXISTS Logical Operator v SQL Server - SQL Server / TSQL výukový program, část 125

  2. Co jsou dočasné tabulky MariaDB?

  3. Optimalizace SELECT dotazu, který běží pomalu na Oracle, který běží rychle na SQL Server

  4. jak předat proměnnou ze skriptu shellu do sqlplus