以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多表查询,分组问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101248)

--  作者:Springamy
--  发布时间:2017/5/27 10:57:00
--  多表查询,分组问题

大大专家,帮我看看sql:

职员表字段:_identify,部门,姓名

加班登记表: _identify,职员编号,加班小时数,加班日期

需要根据日期 把加班小时数 sum 一下

 

Select 姓名,部门,sum(加班小时数) as jbh,加班日期,职员表._Identify f rom 职员表 left join 加班登记表 on 加班登记表.职员编号 = 职员表._Identify where 加班日期 <= dateadd(dd,-1,dateadd(qq,2,dateadd(qq,datediff(qq,0,加班日期),0))) group by 职员表._Identify,

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2017/5/27 11:11:00
--  
group by 后面必须包含前面select里的所有数据列

分组列必须同时包括在SELECT子句和GROUP BY子句中

--  作者:Springamy
--  发布时间:2017/5/27 11:43:00
--  sum 出来的结果不对

Select 姓名,部门,sum(加班小时数) as jbh,加班日期,职员表._Identify f rom 职员表 left join 加班登记表 on 加班登记表.职员编号 = 职员表._Identify where 加班日期 <= dateadd(dd,-1,dateadd(qq,2,dateadd(qq,datediff(qq,0,加班日期),0))) group by 职员表._Identify,部门,姓名,加班小时数,加班日期

 

大大,为什么sum不出来结果,加班小时数还是一条一条的,没有总和,所以后期计算还是不对

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2017/5/27 12:14:00
--  
要按什么条件进行分组求和?原始数据是怎么样的,截图看看
--  作者:Springamy
--  发布时间:2017/5/27 13:48:00
--  数据

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2017/5/27 15:17:00
--  
看原始数据哦,职员表 和 加班登记表。你分组后的数据本来就是错误的,能看出什么东西呢。

如果怕数据泄漏,做几条虚拟数据说明