1

最初の d001 には 2 つの列がある 2 つのテーブルがあります。

ACC_ID, ACC_NAME
      |         |
      |         |  
      |         |

2 番目の d002 には 4 つの列があります

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
    |          |           |           |           |      
    |          |           |           |           |
    |          |           |           |           |

私は左結合しようとしましたが、結果は1列だけです!!!

4

1 に答える 1

3

You need to left join a total of 4 times!

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

Having said that, you should look at normalizing the data into 4 rows at your next convenient opportunity to revisit the table structure.

于 2012-10-10T12:21:06.753 に答える