SQL求助

afoon afoon 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在有四个表:名单(UID,姓名,单位),请假人员(UID,日期),迟到人员(UID,日期),缺勤人员(UID,日期)
要将后三个表中有记录的人员按月份理出,每一条记录为:姓名,单位,请假天数,迟到天数,缺勤天数。我使用:
select 名单.姓名,名单.单位,count(请假人员.UID)from 请假人员,名单 where 请假人员.UID = 名单.UID and datepart(month,请假人员.日期) = '12' group by 名单.姓名,名单.单位
union
select 名单.姓名,名单.单位,count(迟到人员.UID)from 迟到人员,名单 where 迟到人员.UID = 名单.UID and datepart(month,迟到人员.日期) = '12' group by 名单.姓名,名单.单位
union
select 名单.姓名,名单.单位,count(缺勤人员.UID)from 缺勤人员,名单 where 缺勤人员.UID = 名单.UID and datepart(month,缺勤人员.日期) = '12' group by 名单.姓名,名单.单位
结果不正确,因为每个人不会在后三个表中都有数据,当count()为0时不加入到记录中,每一条记录都不完整,怎样保留count为0的记录?
...全文
评论 13
收藏 已收藏
分享
返回顶部
afoon
MS-SQL Server 34,876 成员 254,635 内容