Esto es tres selecciones diferentes usando la misma sub consulta. ¿Cómo puedo usar el resultado de la subconsulta en lugar de hacer una sub consulta de nuevo?¿Cómo evitar la misma subconsulta en la selección múltiple en el oráculo?
SELECT *
FROM Address
WHERE address_key IN
(
SELECT address_key
FROM person_address
WHERE peson_key IN (person_list)
); -- person_list := '1,2,3,4'
SELECT *
FROM Phone
WHERE phone_key IN
(
SELECT address_key
FROM person_address
WHERE peson_key IN (person_list)
);
SELECT *
FROM Email
WHERE address_key IN
(
SELECT address_key
FROM person_address
WHERE peson_key IN (person_list)
);
+1 o la idea de GTT, especialmente si la lógica para poblarla es más complicada o más lenta que en el ejemplo aquí. –