浅谈sql 三个表全连接

本文介绍了在遇到教师工作量计算时,由于部分老师只有部分工作量记录,使用左连接导致数据不完整的问题。通过引入全连接解决了这个问题,详细展示了如何使用SQL全连接语句将上课工作量、实习工作量和毕业设计工作量表进行有效合并,并在C#中处理空值以计算总工作量。
摘要由CSDN通过智能技术生成

 前段时间为学校的课酬系统做升级的时候遇到这样一个问题:

 教师总工作量是根据上课工作量,毕业设计指导工作量,实习指导工作量的总和来计算的。

但是问题来了,有的老师带过课,但是没有带毕业设计和实习,有的带毕业设计和生产实习的老师是外面聘请的兼职老师,没有带过课。

之前做这个系统的时候,以为只要是学校的老师那一定带过课,所以是用左连接来实现的,结果在后来显示总工作量的时候就出现了问题。

下面和大家分享解决这个问题的方法:

假设有三个表,分别是上课工作量表,实习工作量表,毕业设计工作量表,如下图:

                    shangke                    shixi                                bishe

在gridview显示教师总工作量时要把上课工作量,实习工作量和毕设工作量都显示,如下图:

此时左连接以显得无能为力了,这时,我们应当用全连接来解决。

下面是sql语句:

select     shangke.year, shangke.name, shangke_work, shixi_work, bishe_work  from shangke full  join shixi   on (shangke.name=shixi.name and shangke.year

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值