1

假设我有两个表,并且只想为 t2 中存在的那些记录更新 t1 中的记录。

ID = int, all others varchar

t1
id<PK>,sample,variable,status,notes

t2
sample,variable

我可以通过加入 t2 从 t1 中选择子集

Select Sample FROM t1 INNER JOIN t2 ON t1.Sample = t2.Sample AND t1.Variable = t2.Variable

但是将其转换为不从 t2 提取更新值的更新语句的语法是什么?(我的值不是从 t2 得出的;t2 只是限制应该更新哪些记录。)

UPDATE t1
SET Status=N'Complete',Notes=N'Lots of notes here'
INNER JOIN t2 ON t1.Sample = t2.Sample AND t1.Variable = t2.Variable  
4

1 回答 1

3

你几乎明白了:

UPDATE t1Aliased
SET Status=N'Complete',Notes=N'Lots of notes here'
from t1 t1Aliased 
INNER JOIN t2 ON t1Aliased.Sample = t2.Sample 
AND t1Aliased.Variable = t2.Variable
于 2013-06-21T21:02:06.623 回答