以下查询只会影响标题为“F0085'”的行。但是,它影响了所有行。将地址设置为' test'在每个Job_No上。请帮忙!
UPDATE TBTest.dbo.Site
SET Address ='FDAN'
FROM Jobs
WHERE Job_No = 'F0085'
这是第一张表
答案 0 :(得分:2)
你的语法错了。由于您的更新取决于其他表,因此您需要join
它们。尝试:
UPDATE t
SET
t.Address = 'FDAN'
FROM
TBTest.dbo.Site t
INNER JOIN JOBS j
ON t.Job_No = j.Job_No
WHERE j.Job_No = 'F0085'
答案 1 :(得分:0)
UPDATE TBTest.dbo.Site ST
INNER JOIN Jobs JB ON JB.Job_No=ST.JOB_NO
SET ST.Address =JB.Address
尝试以上查询。
希望这会对你有所帮助。
答案 2 :(得分:0)
谢谢大家。我需要找到公共列(ID列)。
UPDATE t
SET
t.Address = 'FDAN'
FROM
TBTest.dbo.Site t
INNER JOIN Jobs j
ON t.Site_ID = j.Job_ID
WHERE j.Job_No = 'F0085'
我不完全理解别名是如何工作的。但似乎工作正常。