鉴于下面的SELECT语句的输出,我如何将所有记录的“ CameraLocationID”字段更新为“ LocationID”字段中的值?
当前状态:
ItemID CameraID CameraLocationID LocationID
2 23038 NULL 335
3 23039 NULL 67
4 23040 NULL 34
5 23041 NULL 234
所需的输出:
ItemID CameraID CameraLocationID LocationID
2 23038 335 335
3 23039 67 67
4 23040 34 34
5 23041 234 234
我尝试过的事情:
是否有SQL方式可以很快地做到这一点?
编辑:对于将来的旅行者,CameraLocationID和LocationID在不同的表中。 SELECT在应用UPDATE之前将它们放到一个输出中。
答案 0 :(得分:5)
Update myTable set CameraLocationID = LocationID;
是您所需要的。
如果locationID来自另一个表,则需要在其中进行链接的ID字段,我认为源和目标都具有CameraId字段:
Update targetTable
set CameraLocationId = sourceTable.LocationId
from sourceTable
where targetTable.CameraID = sourceTable.CameraID;
如果不是这种情况,请提供有关表结构和当前数据的完整信息。