使用内部联接表进行SQL更新

时间:2019-02-14 14:28:54

标签: sql sql-server sql-update

我正在使用SQL Server,我想从InterventionsImage更新2个值(ActionNumber和NumberOfPeople),其中属性NumberOfInterverntion在ExecuteInterventions和InterventionsImage表中具有相同的值。

使用SQL更新sintax的逻辑,我尝试了类似以下查询的方法:

s='asdf'
print(s[5:])
print(s[8:])

应从InterventionsImage表更新ActionNumber和NumberOfIntervention值。但是,那当然行不通。 有人可以找出我如何更新这些值吗?

2 个答案:

答案 0 :(得分:0)

尝试以下查询。这应该工作...

更新ii 设置ii.ActionNumber = 1,     ii.NumberOfPeople = 233 从干预图像ii内联接执行干预ei 开启ei.NumberOfInterverntion = ii.NumberOfIntervention ei.ID = 153和ii.ID = 199687

答案 1 :(得分:0)

如果您是使用Sql Server的新手,我建议您这样做。

首先尝试使用select子句选择要更新的值

Select * 
FROM ExecuteInterventions ei INNER JOIN InterventionsImage ii
ON ei.NumberOfInterverntion = ii.NumberOfIntervention
WHERE ei.ID = 153 and ii.ID  = 199687

检查这些值是否是您要更改的值

然后通过以下方式应用更新子句

Update ii
SET ii.ActionNumber = 1
  , ii.NumberOfPeople = 233
FROM ExecuteInterventions ei INNER JOIN InterventionsImage ii
ON ei.NumberOfInterverntion = ii.NumberOfIntervention
WHERE ei.ID = 153 and ii.ID  = 199687

从查询中复制FROM结构,并在其上放置Update子句。 在update子句中,调用要更新的表的别名(Ex ii) 并应用set子句来更改所需的信息。