3,491
社区成员
发帖
与我相关
我的任务
分享
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(+)
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