¿Hay una manera de dar una sub consulta en Oracle 11g como un alias:¿Hay alguna manera de darle a una subconsulta un alias en Oracle 11g SQL?
select *
from
(select client_ref_id, request from some_table where message_type = 1) abc,
(select client_ref_id, response from some_table where message_type = 2) defg
where
abc.client_ref_id = def.client_ref_id;
De lo contrario hay una manera de unir las dos sub consultas basadas en el client_ref_id. Me doy cuenta de que existe una unión automática, pero en la base de datos que estoy ejecutando en una autocombinación puede tomar hasta 5 minutos en completarse (existe una lógica extra en la consulta real que estoy ejecutando pero he determinado que la auto unión es lo que es causando el problema). Las subconsultas individuales solo tardan unos segundos en completarse ellas mismas. La consulta auto unirse ve algo como:
select st.request, st1.request
from
some_table st, some_table st1
where
st.client_ref_id = st1.client_ref_id;
Simplemente curioso, ¿qué tan bien funcionó la respuesta aceptada? – DCookie
No has descubierto que es la auto-unión. Haga una copia idéntica de la tabla, los índices y las estadísticas y vea si obtiene el mismo tiempo. La mejor pregunta habría sido: "Ayúdame a ajustar esta consulta" y ha publicado la consulta COMPLETA y el plan de explicación. –