94916


area_masterテーブル  
・id 1,area_nameカラム 東京  
・id 2,area_nameカラム 名古屋  
・id 3,area_nameカラム 大阪

mainテーブル  
・id 1,area_idカラム 1  
・id 2,area_idカラム 1  
・id 3,area_idカラム 2

上記内容だと、1対多なので普通の left joinでよいと思うのですが、  
下記のようにmainテーブル内にある2つのカラムから、他のテーブルarea_masterを参照する場合でも、1対多になりますか？  
取得する場合の結合は、普通の left joinでよい？

mainテーブル  
・id 1,area_a_idカラム 1,area_b_idカラム 1  
・id 2,area_a_idカラム 1,area_b_idカラム 2  
・id 3,area_a_idカラム 2,area_b_idカラム 3

環境  
MySQL 5.7


CC BY-SA 4.0
2023-05-19T14:58:00.037
94911
2023-05-19T21:25:23.300
7886
question
mysql
MySQLで、あるテーブルa内にある2つのカラムから、他のテーブルbを参照する場合は、1対多になりますか？ left joinでよい？


[![質問文のER図](https://i.stack.imgur.com/UihMZ.png)](https://i.stack.imgur.com/UihMZ.png)

多対1(外部結合を使うということは厳密には`0..1`かと思いますが)が2つある状態です。  
外部結合を2回行えばよいです。

[code]

    select * from main m
    left join area_master a on m.area_a_id = a.id
    left join area_master b on m.area_b_id = b.id
    
[/code]

[playground link](https://www.db-fiddle.com/f/kPhWtzLQJPs1D6S9ZjYHMx/1)


CC BY-SA 4.0
2023-05-19T21:25:23.300
94916
2023-05-19T21:25:23.300
2808
94911
answer