我这里有2张桌子: -
Table A
tableA_id
tableB_id1
tableB_id2
tableB_id3
Table B
tableB_id
tableB_name
如何将这两个表连接成一个单个结果并返回结果,如: -
tableA_id tableB_id1 tableB_name1 tableB_id2 tableB_name2 tableB_id3 tableB_name3
** 1,2,3中的tableB_name将基于tableB_id1,2,3中的值 谢谢。
答案 0 :(得分:0)
根据您当前的结构,您需要与tableb
一起加入tablea
3次
select a.tableA_id,
b1.tableB_id tableB_id1,
b1.tableB_name tableB_name1,
b2.tableB_id tableB_id2,
b2.tableB_name tableB_name2,
b3.tableB_id tableB_id3,
b3.tableB_name tableB_name3
from tablea a
join tableb b1 on a.tableB_id1 = b1.tableB_id
join tableb b2 on a.tableB_id2 = b2.tableB_id
join tableb b3 on a.tableB_id3 = b3.tableB_id
您当前的架构仅限于对tableb
的3个引用,如果您需要另一个,则该怎么办。如果这两个表之间存在many to many关系,我建议您重新构建表格并添加junction table来关联这些表格
tableab_pivot
tablea_id tableb_id
1 6
1 7
1 8