根据父表中的条件更新相关表中的行
我有一个表 TABLE1(父表),其中包含列
StaffID (PK)
姓名
CategoryID (FK)
我还有另一个相关表TABLE2 (RELATED TABLE) 包含列
LeaveID (PK)
员工 ID (FK)
StartDate
我想要做的是编写一个 T-SQL 查询来更新 TABLE2 中所有行的 StartDate 列,其中 TABLE1 中的 CategoryID = '3'
TABLE2 通过 StaffID 外键列与 TABLE1 相关
I have a table TABLE1 (PARENT TABLE) with columns
StaffID (PK)
Name
CategoryID (FK)
I also have another related table TABLE2 (RELATED TABLE)
with columns
LeaveID (PK)
StaffId (FK)
StartDate
What i want to do is write a T-SQL query to update StartDate column of all rows in TABLE2 whose CategoryID in TABLE1 = '3'
TABLE2 is related to TABLE1 through the StaffID foreign key column
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在更新语句中使用联接,但对于像这样的简单更新,我认为最清晰的方法是使用子查询。它避免了关于正在更新哪个表的任何歧义,并且优化器可能会选择相同的查询计划。
You can use a join in the update statement, but for simple updates like this, I think the clearest way is to use a subquery. It avoids any ambiguity about which table is being updated and the optimizer will probably choose the same query plan.