我对SQL不太了解 - 我只是在编写一个RFID学生注册扫描程序,它与SQL Server中的数据库连接。
我确信这很容易做到,但我无法找到解决问题的方法。
我希望能够以基本形式做这样的事情,这是行不通的:
UPDATE Attendance
SET A1 = 'TRUE'
WHERE Student.ID = '3a0070c48'
AND Module.Day = 'Friday' ;
但完整的SQL Update必须是这样的:
UPDATE Attendance
SET A1 = 'TRUE'
WHERE Student.ID = '3a0070c48'
AND Module.Day = 'Friday'
AND '1100' BETWEEN Module.StartTime
AND Module.EndTime ;
答案 0 :(得分: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
我猜测了与您的表相关的列,但它应该非常接近您所拥有的,您需要使用真正的列。