请假提交表中的请假不按任何顺序维护。我想创建一个视图,我可以在其中针对员工制作每月向量

Posted

技术标签:

【中文标题】请假提交表中的请假不按任何顺序维护。我想创建一个视图,我可以在其中针对员工制作每月向量【英文标题】:Leaves are not maintained in any order in leave submission table. I want to create a view where I can make a monthly vector of it against employees 【发布时间】:2016-12-15 16:12:10 【问题描述】:

我的数据库中有一个表格用于提交请假。叶子被维护着,没有任何秩序。我想创建一个视图,我可以在其中针对员工制作每月的向量。 Emp_id 是外键。 st_date 是休假开始日期,end_date 是休假结束日期

【问题讨论】:

这里的问题是什么?我看到一张桌子的照片。你想从中检索什么? 这是一个请假提交的表格。我想创建一个视图,如果它针对员工,我可以在其中制作每月向量。 你说你想针对它制作一个月度向量。你能解释一下这是什么意思吗?意识到我们看不到您的屏幕,并且完全不知道您在这里要做什么。 请展示一些示例数据和预期输出。请查看下面的链接以了解如何提问,以快速获得帮助spaghettidba.com/2015/04/24/… 如果要汇总每个月的总假期,如果一个假期跨越多个月应该怎么办?应该全部归因于第一个月/上个月,还是其他一些逻辑? 【参考方案1】:

如果您只想报告每位员工每月的总休假天数:

SELECT emp_id As EmployeeID,
       DATENAME(YEAR,st_date) + '-' + RIGHT('0' + CONVERT(VARCHAR,DATEPART(MONTH,st_date)),2) AS [Month],
       SUM(DATEDIFF(DAY,st_date,end_date)) AS DaysLeave
FROM Leave
GROUP BY emp_id,
         DATENAME(YEAR,st_date) + '-' + RIGHT('0' + CONVERT(VARCHAR,DATEPART(MONTH,st_date)),2)
ORDER BY emp_id,
         DATENAME(YEAR,st_date) + '-' + RIGHT('0' + CONVERT(VARCHAR,DATEPART(MONTH,st_date)),2)

注意:这会将跨越多个月的任何休假视为全部发生在休假开始的月份。它也不排除周末。

【讨论】:

以上是关于请假提交表中的请假不按任何顺序维护。我想创建一个视图,我可以在其中针对员工制作每月向量的主要内容,如果未能解决你的问题,请参考以下文章

企业自动化办公之请假单-下篇

企业自动化办公之请假单-下篇

请假要组长和经理同时审批该怎么办?来看看工作流中的会签功能

请假要组长和经理同时审批该怎么办?来看看工作流中的会签功能

请假要组长和经理同时审批该怎么办?来看看工作流中的会签功能

怎么用SQL语句创建视图