mysql一个表中多个字段对应另一个表的id如何查询?

时间:2020-12-28 14:56:40

比如有如下2个表 a 和b
a
aID b1ID b2ID b3ID
1 1 3 5

2 2 4 6
b
bID bCon
1 苹果
2 香蕉
3 国内
4 国外
5 出口
6 进口
其中a表中的b1ID,b2ID,b3ID都对应b表的bID

现在要查询a表的第一条数据,期望查询到的结果如下
aID b1ID b1Con b2ID b2Con b3ID b3Con
1 1 苹果 3 国内 5 出口,

SELECT m.aid,m.b1id,n.bcon,m.b2id as b2id,o.bcon as b2con, m.b3id as b3id,p.bcon as b3con FROM `test` as m INNER JOIN test1 as n on m.b1id=n.bid INNER JOIN test1 as o on m.b2id=o.bid INNER JOIN test1 as p on m.b3id=p.bid;

$comment = M('comment');
$arr = $comment->alias('c')->join('return_user u ON u.user_id=c.userid ')->join('return_user u1 ON u1.user_id=c.receiver_id')->field('c.id,u.nick_name,u1.nick_name as receiver')->where(array('c.typeid'=>I('get.id')))->select();
如果field字段相同,比如field('c.id,u.nick_name,u1.nick_name')那么只会显示一个nick_name

mysql一个表中多个字段对应另一个表的id如何查询?