多表連接面試題:ERROR:Not unique table/alias


 

                                     class_info

id class_name
2 s204
5 s205
1 s207
7 s203

                                    match_info

id host_id guest_id match_time match_result
1 2 1 2018-12-10 45:62
2 2 7 2018-12-16 55:50
3        
4        
5        

 

1、題目需求:已知某學校組織籃球比賽,現在有兩張表class_info 和 match_info,需要通過查詢獲得如下格式表格信息:

host guest match_time match_result
s204 s207 2018-12-10 45:62
s204 s203 2018-12-16 55: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 

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM