Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Pasar de Columnas a filas

Estas en el tema de Pasar de Columnas a filas en el foro de Oracle en Foros del Web. Hola Solicito su colaboración para que me escriban como puedo pasar una columna a filas de una subconsulta en Oracle, sin tener un maximo de ...
  #1 (permalink)  
Antiguo 26/11/2009, 08:36
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 4 meses
Puntos: 0
Pasar de Columnas a filas

Hola

Solicito su colaboración para que me escriban como puedo pasar una columna a filas de una subconsulta en Oracle, sin tener un maximo de datos.

De antemano muchas gracias por su colaboración.

Att,

Didi
  #2 (permalink)  
Antiguo 28/11/2009, 07:34
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: Pasar de Columnas a filas

1. Haces un SELECT para coger toda la columna
2. Creas una tabla que tenga el mismo número de columnas que el resultado del SELECT anterior.
3. Insertas cada dato del SELECT del paso 1 en cada columna de la nueva tabla.

Salu2!
  #3 (permalink)  
Antiguo 29/11/2009, 10:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Pasar de Columnas a filas

No me parece muy razonable la idea.
Cuando dices
Cita:
sin tener un maximo de datos.
estás implicando una consulta capaz de resolver una tabla de infinitas columnas... No conozco DBMS que pueda hacer eso.
¿No será que te estás planteando la generación de un reporte, que deberías tratar de resolver por medio de OLAP y no por simples subconsultas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 30/11/2009, 09:36
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: Pasar de Columnas a filas

Ok, si conoces los valores de los campos tal vez lo podrias lograr con algo asi, convertit filas en campos, pero se limita si conoces cada valor de los campos.

Código:

with

a as (select campo1 from tabla where campo1='primer_valor'),
b as (select campo2 from tabla where campo1='segundo_valor'),
c as (select campo3 from tabla where campo1='tercer_valor'),
d as (select campo4 from tabla where campo1='cuarto_valor'),
e as (select campo5 from tabla where campo1='quinto_valor')
select * from a,b,c,d,e

De ser dinamico e infinito inventate un procedimiento que te seleccione dichos campos (los cuente etc) y en el cual hagas tantos subselect como campos tengas y listo. Pero como te explique si es asi de dinamico lo arreglas con un procedimiento el cual no se ve nada complicado hasta cierto punto.

Lo complicado seria el dinamismo que deberia tener el mismo para mostrar n parametros de salidas (ni idea tal vez alguien aporte algo mas, pero es para que te des una idea)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:55.