Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我能避免一排一排地做这个吗_Sql_Sql Server_Linq_Entity Framework - Fatal编程技术网

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
  • 扫描时间

您可以在SQL中执行此操作,只需将时间限制添加到您的
连接中即可:

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

我认为你应该提供一些样本数据和你想要的结果。否则,你的问题相当模糊。