Вы можете попробовать что-то вроде
UPDATE place
SET latitude = z.latitude,
longitude = z.longitude
FROM place p INNER JOIN
zipcodes z ON p.zip = z.zipcode
См. Пример
DECLARE @zipcodes TABLE(
zipcode VARCHAR(10),
latitude FLOAT,
longitude FLOAT
)
DECLARe @place TABLE(
id INT,
name VARCHAR(10),
zip VARCHAR(10),
latitude FLOAT,
longitude FLOAT
)
INSERT INTO @zipcodes SELECT '65201',123.456,456.789
INSERT INTO @zipcodes SELECT '65203',126.546,444.444
INSERT INTO @place SELECT 1,'abc','65201',NULL,NULL
INSERT INTO @place SELECT 2,'def','65202',NULL,NULL
INSERT INTO @place SELECT 3,'ghi','65203',NULL,NULL
INSERT INTO @place SELECT 4,'jkl','65204',NULL,NULL
UPDATE @place
SET latitude = z.latitude,
longitude = z.longitude
FROM @place p INNER JOIN
@zipcodes z ON p.zip = z.zipcode
SELECT *
FROM @place
Вы можете проверить это из документации
ОБНОВЛЕНИЕ (Transact-SQL)