加入同一个表中的两行,这两行指向另一个表中的相同内容

时间:2015-04-23 08:45:19

标签: mysql join

表A

key    |    col1         | col2        |
=========================|=============|
1      |    1            |1            |  
2      |    2            |3            |
3      |    10           |5            |
4      |    55           |7            |

表B

B_key    |    col3         |
=========================|
1      |    NAME1        |
2      |    NAME2        |
3      |    NAME3        |
7      |    NAME7        | 
10     |    NAME10       |
55     |    NAME55       |

预期结果

|    col1_join    | col2_join
==================|=============
|    NAME1        |NAME1
|    NAME2        |NAME3
|    NAME10       |NAME5
|    NAME55       |NAME7

我有两个表A和B.第1列和第2列是引用表B的PK的外键。

我想要的是一种连接这两个表A和B并获得相应COL3的方法。

我试过

SELECT * FROM 
    tbl_A 
INNER JOIN 
    tbl_B 
ON 
    tbl_A.col1 = tbl_B.B_key 
OR
    tbl_A.col2 = tbl_B.B_key 

1 个答案:

答案 0 :(得分:0)

你可以这样做

select 
b1.col3 as col1_join,
b2.col3 as col2_join
from TableA a 
left join TableB b1 on b1.B_key = a.col1
left join TableB b2 on b2.B_key = a.col2