SELECT T.ID, T.NAME, (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B1_ID) B1_ID, (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B2_ID) B2_ID, (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B3_ID) B3_ID, (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B4_ID) B4_ID FROM TABLE1 T
WITH table1 AS( SELECT '1' ID,'a' NAME,'id1' b1_id,'id2' b2_id,'id3' b3_id,'id4' b4_id FROM dual), table2 AS( SELECT 'id1' ID,'name1' NAME FROM dual UNION ALL SELECT 'id2' ID,'name2' NAME FROM dual UNION ALL SELECT 'id3' ID,'name3' NAME FROM dual UNION ALL SELECT 'id4' ID,'name4' NAME FROM dual ) SELECT t1.ID,t2.NAME b1_id,t3.NAME b2_id,t4.NAME b3_id,t5.NAME b4_id FROM TABLE1 T1, TABLE2 T2, TABLE2 T3, TABLE2 T4, TABLE2 T5 WHERE T1.B1_ID = T2.ID(+) AND T1.B2_ID = T3.ID(+) AND T1.B3_ID = T4.ID(+) AND T1.B4_ID = T5.ID(+)
T.NAME,
(SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B1_ID) B1_ID,
(SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B2_ID) B2_ID,
(SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B3_ID) B3_ID,
(SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B4_ID) B4_ID
FROM TABLE1 T
WITH table1 AS(
SELECT '1' ID,'a' NAME,'id1' b1_id,'id2' b2_id,'id3' b3_id,'id4' b4_id FROM dual),
table2 AS(
SELECT 'id1' ID,'name1' NAME FROM dual UNION ALL
SELECT 'id2' ID,'name2' NAME FROM dual UNION ALL
SELECT 'id3' ID,'name3' NAME FROM dual UNION ALL
SELECT 'id4' ID,'name4' NAME FROM dual
)
SELECT t1.ID,t2.NAME b1_id,t3.NAME b2_id,t4.NAME b3_id,t5.NAME b4_id
FROM TABLE1 T1, TABLE2 T2, TABLE2 T3, TABLE2 T4, TABLE2 T5
WHERE T1.B1_ID = T2.ID(+)
AND T1.B2_ID = T3.ID(+)
AND T1.B3_ID = T4.ID(+)
AND T1.B4_ID = T5.ID(+)