Oracle - transform en oracle

 
Vista:

transform en oracle

Publicado por crow (3 intervenciones) el 01/02/2006 18:12:53
Hola...Tengo una sentencia "TRANSFORM ... PIVOT" en una consulta Access. Necesito pasar de Access a Oracle y me gustaria saber cual es la sentencia equivalente en Oracle - pl/sql.
Muchas gracias a todos por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:transform en oracle

Publicado por JSL (186 intervenciones) el 01/02/2006 19:14:16
Que hace el TRANSFORM ... PIVOT ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:transform en oracle

Publicado por crow (3 intervenciones) el 01/02/2006 19:37:31
Es una consulta de referencias cruzadas, permite visualizar los datos en filas y en columnas estilo table, por ejemplo si se tiene una tabla de productos y otra tabla de pedidos, se puede visualizar en total de productos pedidos por año para un artículo determinado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:transform en oracle

Publicado por JSL (186 intervenciones) el 02/02/2006 23:26:58
http://www.blueclaw-db.com/accessquerysql/pivot_query.htm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:transform en oracle

Publicado por Jose Solorzano (1 intervención) el 27/05/2006 03:45:48
drop table t_;

create table t_ (
nm Varchar2(20),
pr Char ( 7),
vl Number
);

insert into t_ values ('company 1','2003-06', 10);
insert into t_ values ('company 1','2003-07', 29);
insert into t_ values ('company 1','2003-08', 39);
insert into t_ values ('company 1','2003-09', 41);
insert into t_ values ('company 1','2003-10', 22);

insert into t_ values ('company 2','2003-06', 13);
insert into t_ values ('company 2','2003-07', 17);
insert into t_ values ('company 2','2003-08', 61);
insert into t_ values ('company 2','2003-09', 55);
insert into t_ values ('company 2','2003-10', 71);

insert into t_ values ('company 3','2003-06', 33);
insert into t_ values ('company 3','2003-07', 18);
insert into t_ values ('company 3','2003-08', 27);
insert into t_ values ('company 3','2003-09', 5);
insert into t_ values ('company 3','2003-10', 32);

select
nm,
jul,
aug,
sep,
jul+aug+sep "Total"
from (
select
nm,
max(case when pr='2003-07' then vl else null end) jul,
max(case when pr='2003-08' then vl else null end) aug,
max(case when pr='2003-09' then vl else null end) sep
from
t_
group by
nm);

This query returns:
NM JUL AUG SEP Total
-------------------- ---------- ---------- ---------- ----------
company 1 29 39 41 109
company 2 17 61 55 133
company 3 18 27 5 50
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar