我有两张桌子。表A包含3个引用表B的id的列。如何编写一个select语句,显示表A引用的表B的所有名称。
看看它会很好地解释自己:
表a就像这样
----------------------
aid | bfk1 | bfk2 | bfk3
-----------------------
1 | 1 | 3 | 4
2 | 1 | 4 | 4
3 | 1 | 4 | 4
表b包含名称
----------------------
bid | name
-----------------------
1 | test1
2 | test2
3 | test3
4 | test4
如何显示表a中包含表b名称的所有数据。我需要什么sql语句来实现这一点? 提前谢谢
答案 0 :(得分:0)
您需要使用不同的别名
连接同一个表3次select a.aid,
b1.name as b_name_1,
b2.name as b_name_2,
b3.name as b_name_3
from tableA a
left join tableB b1 on a.bfk1 = b1.bid
left join tableB b2 on a.bfk2 = b2.bid
left join tableB b3 on a.bfk3 = b3.bid