使用多个表的 SQL Server 更新 [重复]

Posted

技术标签:

【中文标题】使用多个表的 SQL Server 更新 [重复]【英文标题】:SQL Server Update Using Multiple Tables [duplicate] 【发布时间】:2013-03-11 09:36:47 【问题描述】:

我对 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 ;

【问题讨论】:

'1100'?这些列是什么,Varchars? 【参考方案1】:

好的,你需要这样做:

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

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

【讨论】:

救世主!!现在可以享受美食了。谢谢!

以上是关于使用多个表的 SQL Server 更新 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用另一个表中的内容更新 SQL Server 表[重复]

带有 2 个表的 SQL Server GROUP BY

SQL Server存储过程简介

如何通过 MS ACCESS 表执行 SQL Server 表的批量更新

请问SQL server 中的主键和外键的作用

SQL查询语法错误,使用另一个表的数据更新表[重复]