Sql 如何找到当前工作的所有员工,并使用循环选择他们
我正在尝试实现一个员工任务分配应用程序 我的SQL server数据库中有一个员工轮班明细表。我需要选择当前时间的员工,并使用循环调度从当前轮班的员工列表中为任务选择一名员工Sql 如何找到当前工作的所有员工,并使用循环选择他们,sql,sql-server,database,Sql,Sql Server,Database,我正在尝试实现一个员工任务分配应用程序 我的SQL server数据库中有一个员工轮班明细表。我需要选择当前时间的员工,并使用循环调度从当前轮班的员工列表中为任务选择一名员工 CREATE TABLE [dbo].[Tbl_Shift_Details]( [ID] [bigint] IDENTITY(1,1) NOT NULL, [Shift_Type] [varchar](10) NOT NULL, [Week_day] [int] NOT NULL, [Log
CREATE TABLE [dbo].[Tbl_Shift_Details](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Shift_Type] [varchar](10) NOT NULL,
[Week_day] [int] NOT NULL,
[Login_Time] [varchar](5) NULL,
[Logout_Time] [varchar](5) NULL,
[Assignees_Name] [varchar](100) NULL,
[Assignees_Email] [varchar](500) NULL,
[Team_Lead_Email] [varchar](30) NULL
) ON [PRIMARY]
GO
我可以使用下面的查询选择当前工作的员工
SELECT *
FROM [dbo].[Tbl_Shift_Details]
WHERE Week_day = DATEPART(weekday, Dateadd(hh,-5.00,getdate())) and
((Logout_Time > Login_Time and
DATEPART(HOUR,Dateadd(hh,-5.00,getdate())) >= Login_Time and
DATEPART(HOUR,Dateadd(hh,-5.00,getdate())) <= Logout_Time) or
(Logout_Time < Login_Time and DATEPART(HOUR,Dateadd(hh,-5.00,getdate())) >= Login_Time)
);
我一次只需要使用循环法选择一名员工。我可以在SQL server本身内部执行此操作吗
+----+------------+----------+------------+-------------+-----------------+--------------------------+--------------------------+
| ID | Shift_Type | Week_day | Login_time | Logout_Time | Assignees_Name | Assignees_Email | Team_Lead_Email |
+----+------------+----------+------------+-------------+-----------------+--------------------------+--------------------------+
| 1 | 1st | 2 | 8 | 18 | John Doe | johndoe@aol.com | jimmykimmel@fun.com |
| 7 | 2nd | 2 | 12 | 21 | Noah Arc | Noaharc@aol.com | jimmykimmel@fun.com |
| 11 | 3rd | 2 | 15 | 24 | John Everyman | johneveryman@gmail.com | BodrumSalvador@yahoo.com |
| 16 | 2nd | 2 | 12 | 21 | Theodore Handle | theodorehandle@yahoo.com | BodrumSalvador@yahoo.com |
| 21 | 3rd | 2 | 15 | 24 | Sue Shei | SueShei@dxc.com | jimmykimmel@fun.com |
+----+------------+----------+------------+-------------+-----------------+--------------------------+--------------------------+