左连接为col到multi col

时间:2012-10-10 12:19:51

标签: sql

我有两个表,第一个d001有两个col:

ACC_ID, ACC_NAME
      |         |
      |         |  
      |         |

secound d002有四个col

DATE ACC_ID_1, ACC_ID_2, ACC_ID_3, ACC_ID_4 
    |        |         |         |         |      
    |        |         |         |         |
    |        |         |         |         |

我如何使视图包含

DATE, ACC_NAME1, ACC_NAME_2, ACC_NAME_3, ACC_NAME_4
    |          |           |           |           |      
    |          |           |           |           |
    |          |           |           |           |

我尝试左连接,但结果只是一个col !!!

1 个答案:

答案 0 :(得分:3)

你需要连续加入4次!

select t.date,
       a.acc_name acc_name1,
       b.acc_name acc_name2,
       c.acc_name acc_name3,
       d.acc_name acc_name4
from d002 t
left join d001 a on a.acc_id = t.acc_id_1
left join d001 b on b.acc_id = t.acc_id_2
left join d001 c on c.acc_id = t.acc_id_3
left join d001 d on d.acc_id = t.acc_id_4

话虽如此,您应该在下次方便的时候将数据标准化为4行,以重新访问表结构。