使用多个表进行SQL Server更新
我对SQL了解不多——我只是在编写一个RFID学生注册扫描仪,它可以连接到SQL Server中的数据库 我相信这很容易做到,但我找不到解决问题的办法 我希望能够以一种基本的形式做这样的事情,但这是行不通的:使用多个表进行SQL Server更新,sql,sql-server,Sql,Sql Server,我对SQL了解不多——我只是在编写一个RFID学生注册扫描仪,它可以连接到SQL Server中的数据库 我相信这很容易做到,但我找不到解决问题的办法 我希望能够以一种基本的形式做这样的事情,但这是行不通的: UPDATE Attendance SET A1 = 'TRUE' WHERE Student.ID = '3a0070c48' AND Module.Day = 'Friday' ; 但完整的SQL更新需要如下所示: UPDATE Attendance SET
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 ;
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
好的,你需要这样做:
UPDATE Attendance
SET A1 = 'TRUE'
WHERE Student.ID = '3a0070c48'
AND Module.Day = 'Friday'
AND '1100' BETWEEN Module.StartTime
AND Module.EndTime ;
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
我猜测了与您的表相关的列,但它应该非常接近您所拥有的列,您需要使用真实的列。
'1100'
?这些柱子是什么,瓦查尔?救世主!!现在工作很愉快。谢谢