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

¿Como hago un select con cada resultado de otro?

Estas en el tema de ¿Como hago un select con cada resultado de otro? en el foro de Oracle en Foros del Web. Buena tarde. Mi situación es la siguiente. Tengo select que me arroja N cantidad de resultados y quiero usar información de cada uno de estos ...
  #1 (permalink)  
Antiguo 16/02/2015, 17:44
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
¿Como hago un select con cada resultado de otro?

Buena tarde.

Mi situación es la siguiente.


Tengo select que me arroja N cantidad de resultados y quiero usar información de cada uno de estos resultados para buscar otra información. ¿Como es posible realizar esto? ya he buscado y no logro encontrar un método.

Utilizo Oracle.

Aquí mi problema descrito de otra manera.

Resultados de Select 1:

1/NOMBRE/APELLIDO/CÓDIGO/FECHA
2/NOMBRE/APELLIDO/CÓDIGO/FECHA
3/NOMBRE/APELLIDO/CÓDIGO/FECHA
.
.
.
N/NOMBRE/APELLIDO/CÓDIGO/FECHA


Utilizando cada uno de los resultados obtenidos necesito hacer otro select

Select 2:
Código SQL:
Ver original
  1. SELECT * FROM TABLA1 WHERE CÓDIGO = CÓDIGO1 AND FECHA = FECHA1


Donde CÓDIGO 1 y FECHA1 son los respectivos obtenidos del SELECT 1

Necesito orientación de que es lo que podría hacer en este caso.

Con programación diseñaría un ciclo while donde lea uno a uno los resultados del primer select generando un nuevo select con los datos, pero en Oracle no soy muy bueno.

Agradezco de antemano el apoyo.

Saludos.

Última edición por gnzsoloyo; 19/02/2015 a las 14:45
  #2 (permalink)  
Antiguo 27/02/2015, 03:19
 
Fecha de Ingreso: marzo-2012
Ubicación: Los olivos
Mensajes: 40
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: ¿Como hago un select con cada resultado de otro?

Hola, No se si sea muy tarde para responder esto, pero yo recien lo veo. En fin, quiza ayude a alguien mas.

* Yo recomiendo hacerlo con un cursor.
1. creas un procedimiento almacenado y declaras un cursor ademas debes de declarar una variable por cada columna que necesites de la siguiente manera:
Código:
procedure ejemplo(
)is
variable_column1 number;
variable_column2 varchar2(10);
variable_column3 char(3);
cursor cur_nom is select column1, column2, column3 from tablas ;
BEGIN
--Aqui abres tu cursor
open cur_nom;
--Haces un loop
loop
      fetch cur_nom into variable_column1,variable_column2,variable_column3;
      exit when cur_nom%notfound; -- esto es para que salga del loop en cuanto el cur_nom se quede sin datos, osea cuando y arecorrio todas las filas.
      --Aqui iria tu otro select. Puede ser un insert  quiza, depende de lo que necesites.
    Select variable_column1, variable_column3 from tablas  where COLUMNA_X = variable_column2;
    end loop; -- 
close cur_nom; -- cierras cursor
END ejemplo;
__________________
Conocimiento que no se comparte se pierde
  #3 (permalink)  
Antiguo 12/03/2015, 19:01
 
Fecha de Ingreso: marzo-2015
Ubicación: Santiago
Mensajes: 1
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: ¿Como hago un select con cada resultado de otro?

En estos casos utilizo el select como si fuese una tabla, esto es...

SELECT *
FROM (
SELECT NOMBRE, APELLIDO, CÓDIGO ,FECHA FROM TABLA1 WHERE CONDICIONES
) A,
TABLA2 B
WHERE B.CODIGO = A.CODIGO
AND B.FECHA = A.FECHA;

Espero sea de ayuda.
Saludos

Etiquetas: bases-de-datos-general, cada, resultado, select, tabla
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 11:44.