Czy istnieje sposób, aby dać podkwerenda w Oracle 11g alias jak:Czy istnieje sposób na podzapytanie alias w 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;
W przeciwnym razie istnieje sposób, aby złączyć dwa podzapytania w oparciu o client_ref_id. Zdaję sobie sprawę, że istnieje samo sprzężenie, ale w bazie danych, którą uruchamiam na łączeniu się, może zająć do 5 minut (w dzienniku kwerendy znajduje się dodatkowa logika, ale ustaliłem, że samo łączenie jest tym, co jest powodując problem). Poszczególne podzapytania zajmują tylko kilka sekund. Samo dołączyć zapytanie wyglądał:
select st.request, st1.request
from
some_table st, some_table st1
where
st.client_ref_id = st1.client_ref_id;
Po prostu ciekawa, jak dobrze przyjęła się zaakceptowana odpowiedź? – DCookie
Nie zorientowałeś się, że to samo-łączenie. Wykonaj identyczną kopię tabeli, indeksów i statystyk i sprawdź, czy otrzymałeś taki sam czas. Lepsze pytanie brzmiałoby: "Pomóż mi dostroić to zapytanie" i opublikuj zapytanie FULL oraz plan wyjaśniający. –