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

news/2024/10/30 11:27:22/

 

                                     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


http://www.ppmy.cn/news/416597.html

相关文章

Fatal signal XX (SIGSEGV) 常见解决思路 backtrace

Fatal signal XX (SIGSEGV)常用解决思路 ****例如:**** 1、log信息: (摘自网络) 02-13 14:56:12.140 6180 11596 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 11596 (pool_albumlabel) 02-13 14:56:12.149 4549 4579 D ForegroundUtils: …

Android中使用addr2line来分析native信息

系统:Ubuntu12.04 手机系统:Android5.0 在Android的开发过程中有会有很多的native bug必须要用addr2line来分析,并且这个工具也非常的好用。下面我们来看看具体的使用。 烧录到手机上的版本和你电脑上的编译出的版本要一致,这个…

替换pdf中的文字

在项目中经常会有一种需求,给定一个pdf模板,向里面空格中填充文字。若文字长度是固定的或长度变化不大,可以直接使用pdf模板来替换;若需要替换的新文字长度变动比较大,最好的办法是先做好一个word版的目标,…

【开源】壁纸软件,给自己电脑设计专属特效

喜欢图形学的朋友可以了解下,shader开发专属特效 技术点:wpf,dx,shader 软件环境:net core 3.1 平台:windows 用途:给电脑桌面设计一个自己想要的壁纸特效 特殊说明:部分原生特效需…

win10用html文件做壁纸,利用win10自带工具制作动态壁纸的简单方法

微软在最强大操作系统利用win10自带工具制作动态壁纸的简单方法的详细介绍。 利用win10自带工具制作动态壁纸的简单方法: 把图片做成动态壁纸,总共分4步:1、准备素材,2、素材导入,3、调整效果,4、导出视频。…

STM32速成笔记—中断

文章目录 一、什么是中断二、中断的相关概念2.1 中断优先级2.2 中断嵌套2.3 中断服务函数2.4 中断标志位 三、外部中断EXIT四、中断程序配置4.1 设置中断分组并使能中断4.2 初始化EXIT4.3 编写中断服务函数 五、注意事项 一、什么是中断 首先介绍一下什么是中断。在实际开发过…

[CF.Skills]在Pocket PC上编程设置壁纸

写下这篇帖子是来源于kevens的问题,如何编程设置壁纸? 我查看了msdn的一篇文章,提到了注册表中主题的位置,而且你也的确可以在你的设备上找到他. 但是又没有不操作注册表也能编程实现更换壁纸的功能呢? 当然是有的,msdn最后给出的一句PostMessege了给了我提示. 来看看代码吧:…