Shift(Rota)Pattens表SQL

时间:2017-02-22 15:10:02

标签: sql sql-server tsql

大家好,我被要求创建一个员工表,这很好。

SELECT ID,
   EmployeeNo,
   Surname,
   Forename,
   Team,
   BadgeNo,
   RotaType,
   StartDate,
   Flex,
   DaliyHours,
   CurrentTask,
   LastUpdated,
   LastUpdated_By
FROM CHDS_Sandbox.dbo.emp_PeopleDHL;

我注意到他们有RotaType并询问原因。

嗯,我希望我没有他们有56种不同的rotas,并希望员工能够扫描他们徽章上的条形码,并告诉他们他们在接下来的7天或月内工作的时间。

那么我是否为每个rota设置了56个不同的表格,或者我是否可以在表格上设置并运行一个查询日期然后查看RotaType的查询并输出它们应该启动的时间?

1 个答案:

答案 0 :(得分:0)

单个表应该没问题。

create table RotaInfo (id INT identity (1,1),
                       RotaType INT, --should match the existing RotaType, this will be your FK
                       RotaName varchar(50),
                       DayOfMonth INT,
                       StartTime TIME,
                       EndTime TIME);

然后,您可以使用日历CTE获取任何给定员工的任何指定日期的开始/结束时间。