Sql 我能避免一排一排地做这个吗
如果我有两个表和列,如下所示。我想根据该班次内扫描的最早和最新时间,填写Sql 我能避免一排一排地做这个吗,sql,sql-server,linq,entity-framework,Sql,Sql Server,Linq,Entity Framework,如果我有两个表和列,如下所示。我想根据该班次内扫描的最早和最新时间,填写ActualStart和actuallend时间 在linq中有这样做的方法吗?在sql中有基于集合的方法吗 目前,我打算使用光标浏览UsersShift中的每一行,以获取该用户班次内最早和最新的指纹扫描时间,并将其更新为ActualStart和ActualLend列 用户换档 用户移位SID 用户ID 换档起动 转移 实际开始 实际贷款 指纹扫描 用户ID 扫描时间 您可以在SQL中执行此操作,只需将时间限制添加到您
ActualStart
和actuallend
时间
在linq中有这样做的方法吗?在sql中有基于集合的方法吗
目前,我打算使用光标浏览UsersShift中的每一行,以获取该用户班次内最早和最新的指纹扫描时间,并将其更新为ActualStart
和ActualLend
列
用户换档
- 用户移位SID
- 用户ID
- 换档起动
- 转移
- 实际开始
- 实际贷款
- 用户ID
- 扫描时间
连接中即可:
SELECT
us.UsersShiftsId,
us.UserId,
us.ShiftStart,
us.ShiftEnd,
MIN(fs.ScannedTime) ActualStart,
MAX(fs.ScannedTime) ActualEnd
FROM UsersShifts us
LEFT JOIN FingerprintScan fs
ON us.UserId = fs.UserId
AND fs.ScannedTime BETWEEN us.ShiftStart AND us.ShiftEnd
GROUP BY
us.UsersShiftsId,
us.UserId,
us.ShiftStart,
us.ShiftEnd
我认为你应该提供一些样本数据和你想要的结果。否则,你的问题相当模糊。