我在试图找到答案时遇到了一些问题。我需要使用Update将新信息放在某些行中,使用Select with a Where语句。
在我的主表中,我有列
Equipment_ID Type Unit_Name Address Latitude Longitude
并在aux表中,我为每个ID
更新了纬度和经度Equipment_ID Type Latitude Longitude
所以我需要在主表的旧Lat和Lon上为每个ID添加新的Lat和Lon。我觉得这样的事情会起作用,但在这个例子中,我发现在另一个问题中,他只更新了一个字段而且让我很困惑。
UPDATE a
SET a.marks = b.marks
FROM tempDataView a
INNER JOIN tempData b
ON a.Name = b.Name
如何更新纬度和经度,但作为where语句,仅在
时更新WHERE main.Equipment_ID = aux.Equipment_ID
AND main.Type = aux.Type
提前感谢任何提示。
答案 0 :(得分:2)
您无法在更新语句中使用JOIN
,您需要在where
子句中执行“加入”。
另外: NOT 重复FROM
子句中的目标表:
UPDATE main
SET latitude = aux.latitude,
longitude = aux.longitude
FROM aux
WHERE main.Equipment_ID = aux.Equipment_ID
AND main.Type = aux.Type