access做的工资管理系统为什么在合计时会自动乘倍数?
时间:2010-12-22
来源:互联网
在“按工号合计查询”中为什么支款总额会是实际支款额乘以出勤次数?请高手解答,谢谢
人事_2010-12-22.zip(28.61 KB)
附件

2010-12-22 09:32, 下载次数: 4
作者: 53645111 发布时间: 2010-12-22
select 员工信息.员工号,姓名,iif(d.支款总额=0,null,d.支款总额),iif(d.考勤总额=0,null,d.考勤总额) from 员工信息 left join (select 员工号 ,sum(a) as 支款总额 ,sum(b) as 考勤总额 from (select 员工号 , 0 as a, sum(出勤天数) as b from 考勤记录 group by 员工号 union all (select 员工号 , sum(支款金额) as a, 0 as b from 支款记录 group by 员工号)) group by 员工号) as d on 员工信息.员工号=d.员工号
应该先汇总,
假如103,在考勤记录中有4条记录与员工信息表中员工号对应,从而导致与f支款额中有4条记录对应,sum()就相加了.
应先理解left join 的用法.
应该先汇总,
假如103,在考勤记录中有4条记录与员工信息表中员工号对应,从而导致与f支款额中有4条记录对应,sum()就相加了.
应先理解left join 的用法.
作者: detergent181 发布时间: 2010-12-22
可是我把你给的Sql语句放到Sql视图下却显示From子句错误,请高手指点,我是新手,最好能给附件…谢谢
作者: 53645111 发布时间: 2010-12-22
SELECT 员工信息.员工号, 姓名, iif(d.支款总额=0,null,d.支款总额) AS 支款总额, iif(d.考勤总额=0,null,d.考勤总额) AS 考勤总额
FROM 员工信息 LEFT JOIN [select 员工号 ,sum(a) as 支款总额 ,sum(b) as 考勤总额 from (select 员工号 , 0 as a, sum(出勤天数) as b from 考勤记录 group by 员工号 union all (select 员工号 , sum(支款金额) as a, 0 as b from 支款记录 group by 员工号)) group by 员工号]. AS d ON 员工信息.员工号=d.员工号;
abc.rar(27.81 KB)
FROM 员工信息 LEFT JOIN [select 员工号 ,sum(a) as 支款总额 ,sum(b) as 考勤总额 from (select 员工号 , 0 as a, sum(出勤天数) as b from 考勤记录 group by 员工号 union all (select 员工号 , sum(支款金额) as a, 0 as b from 支款记录 group by 员工号)) group by 员工号]. AS d ON 员工信息.员工号=d.员工号;
附件

2010-12-22 11:59, 下载次数: 5
作者: detergent181 发布时间: 2010-12-22
谢谢你,可以用了
作者: 53645111 发布时间: 2010-12-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28