я следующие таблицыOracle добавить результат от выбора до Resultset
Таблица 1 - УЗЛЫ (я доступ к нему через DB_LINK)
SITE_ID LATITUDE LONGITUDE
ABC123 21.018 -89.711
CDE456 20.35 -87.349
FGH789 20.258 -87.406
ABB987 18.54 -88.302
CFF546 18.542 -88.273
GHT553 18.52 -88.311
Таблица 2 - ССЫЛКИ
ID SITE_A SITE_B STATUS NAME LINK_TYPE REGION ---> Many other fields
1 ABC123 GHT553
2 FGH789 CFF546
3 CDE456 ABC123
4 CFF546 GHT553
Таблица 3 - РЕЗУЛЬТАТ (это то, чего я хочу достичь) - независимо от порядка
LINK_ID SITE_A_ID LAT_SITE_A LON_SITE_A SITE_B_ID LAT_SITE_B LON_SITE_B
1 ABC123 21.018 -89.711 GHT553 18.52 -88.311
2 FGH789 20.258 -87.406 CFF546 18.542 -88.273
3 CDE456 20.35 -87.349 ABC123 21.018 -89.711
4 CFF546 18.542 -88.273 GHT553 18.52 -88.311
(плюс несколько других полей, которые не означает никаких проблем для меня)
Это то, что я не пытался
SELECT RES2.*, SAM2.LATITUDE LAT_SITE_B, SAM2.LONGITUDE LON_SITE_B FROM(
SELECT RES1.*, NOD.LATITUDE LAT_SITE_A, NOD.LONGITUDE LON_SITE_A FROM(
SELECT ID, SITE_A, SITE_B, STATUS, NAME, LINK_TYPE FROM LINKS
WHERE SITE_A IS NOT NULL AND SITE_B IS NOT NULL AND REGION IN (8,6)
)RES1, [email protected]_DBLINK NOD WHERE RES1.SITE_A = NOD.SITE_ID
)RES2, [email protected]_DBLINK NOD2
WHERE RES2.SITE_B = NOD2.SITE_ID;
До SELECT, RES1. *, Все работает отлично, но когда я добавляю ВЫБРАТЬ RES2. *, Он занимает слишком много времени, не возвращая ничего.
Надеюсь, вы можете мне помочь, заранее.
почему подзапросы? почему бы просто не объединить ссылки с узлами в два раза? –