【发布时间】:2020-07-10 03:20:02
【问题描述】:
我有下表,Robot 和 RobotTestResult。我想将 Robot 中的 DateTested 字段迁移到对应 Robot 的 RobotTestResult 中的 DateTested 字段。
Robot RobotTestResult
-------- ---------------
RobotID RobotTestID (Identity)
DateTested RobotID
DateTested
任何机器人的 RobotTestResult 表中最多有 1 个条目
一些机器人将在 RobotTestResult 表中有相应的条目,我可以通过简单的连接来更新这些值:
UPDATE RTR
SET RTR.DateTested = r.DateTested
FROM [dbo].[RobotTestResult] RTR
JOIN [Robot] r
ON RTR.RobotID = r.RobotID;
问题在于在 RobotTestResult 表中没有条目的机器人。我能想到的唯一方法是使用 Cursor 遍历每个没有 RTR 条目并进行插入的 Robot,但我觉得必须有更有效的方法。
编辑添加:如果 Robot 中不存在 DateTested 值,则不应插入 RobotTestResult。
【问题讨论】:
-
所以你想为每个还没有的机器人添加一个新的
RobotTestResult记录? -
每个机器人的新 RobotTestResult 仅具有 DateTested 值。如果 Robot 中不存在 DateTested 值,则不应采取任何措施。
标签: sql sql-server tsql insert cursor