我已经得到了以下SQL查询:
UPDATE t1
SET t1.selected_team_id = t2.selected_team_id, t1.source_id = t2.source_id
FROM Tip t1, (SELECT * FROM Tip WHERE tip_id = 19494067) t2 -- To
WHERE t1.tip_id = 27471255 -- From
这允许我复制tip_id 19494067并更新tip_id 27471255上的selected_team_id和source_id
现在我希望能够复制多行,从19494067 - 19494073到27471255 - 27471261可以说6行
我试过了WHERE IN
,但这似乎只复制了第一行(19494067),用于27471255中的所有行 - 27471261
有一个好方法可以通过一次通话批量执行此操作吗?
答案 0 :(得分:1)
如果行相邻,则可以执行此操作。类似的东西:
UPDATE tot
SET selected_team_id = fromt.selected_team_id,
source_id = fromt.source_id
FROM Tip tot join
Tip fromt
on fromt.tip_id - 19494067 = tot.tip_id - 27471255
WHERE tot.tip_id between 27471255 and 27471261;