6

我对 SQL 了解不多——我只是在编写一个 RFID 学生注册扫描仪,它与 SQL Server 中的数据库连接。

我确信这很容易做到,但我找不到解决我的问题的方法。

我希望能够以一种不起作用的基本形式来做这样的事情:

UPDATE Attendance 
SET    A1 = 'TRUE' 
WHERE  Student.ID = '3a0070c48' 
  AND  Module.Day = 'Friday' ;

但是完整的 SQL 更新需要是这样的:

UPDATE Attendance 
SET    A1 = 'TRUE' 
WHERE  Student.ID = '3a0070c48' 
  AND  Module.Day = 'Friday' 
  AND  '1100' BETWEEN Module.StartTime 
                  AND Module.EndTime ;
4

1 回答 1

8

好的,您需要执行以下操作:

UPDATE A
SET A.A1 = 'TRUE' 
FROM Attendance A
INNER JOIN Student S
    ON A.StudentId = S.ID
INNER JOIN Module M
    ON A.ModuleId = M.ID
WHERE S.ID = '3a0070c48' 
AND M.[Day] = 'Friday' 
AND '1100' BETWEEN M.StartTime AND M.EndTime

我猜到了与您的表格相关的列,但它应该非常接近您所拥有的,您需要使用真正的列。

于 2013-03-21T18:11:03.873 回答