解决方案 »

  1.   

    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
      

  2.   


    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(+)