多表连接面试题:ERROR:Not unique table/alias

 

                                     class_info

idclass_name
2s204
5s205
1s207
7s203

                                    match_info

idhost_idguest_idmatch_timematch_result
1212018-12-1045:62
2272018-12-1655:50
3    
4    
5    

 

1、题目需求:已知某学校组织篮球比赛,现在有两张表class_info 和 match_info,需要通过查询获得如下格式表格信息:

hostguestmatch_timematch_result
s204s2072018-12-1045:62
s204s2032018-12-1655:50
    

2、分析:利用左连接查询,同时根据实际情况,match_info需要连接class_info两次(可以多次使用left join连接),才能将match_info中的host_id和guest_id转化为class_name。

3、操作:

select c.class_name as host,d.class_name as guest, m.match_time,m.match_result
from match_info as m left join class_info as c
on m.host_id=c.id
left join class_info as d on m.guest_id=d.id;

4、总结:

   犯错一:表的别名重复问题

  【注意】在进行多次连接同一个表时,一定不能存在表的重名。解决方法为给重名的表设置不同的表名:例   table_a as t_a 

     

 

转载于:https://www.cnblogs.com/python-wen/p/10141338.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值