mysql多次join同一张表的处理

在做多表联查的时候有时候会碰到比如一个班有两个老师,在班的表里记录了两个老师的id,现在要把id换成这两个老师的名字,就需要按照老师的id去查老师表,也就是班级表需要两次join老师表来获取两个或多个老师的名字,如果直接join是不行的,因为两个老师表会重名,但是只要给老师表起个别名就好了,代码如下

班级表class_info,里面有两个字段user1_id和user2.id,分别表示这个班两个老师的id,另外还有一个class_id

老师表user_info,里面有两个字段,user_id和user_name,分别表示老师的id和老师的名字

[sql]  view plain  copy
  1. SELECT class_info.`class_id`,user_info.`user_name` AS user1,tmp.`user_name`AS user2//tmp是老师表的临时表,user1,user2是查询完之后记录老师姓名的列名  
  2. FROM class_info //主表  
  3. LEFT JOIN user_info ON user_info.`user_id` = class_info.`user1_id`//查第一个老师的名字  
  4. LEFT JOIN user_info AS tmp ON tmp.`user_id` = class_info.`user2_id`//查第二个老师的名字,此时需要对已经join的表起个别名  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值