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

比如有如下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

 

转载于:https://www.cnblogs.com/Mr-fhl/p/6269129.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值