更新操作期间的多个内部连接

Multiple Inner Join during update operation

Access中的update操作是否可以做double Inner Join?

以下代码对我不起作用:

UPDATE [TableA]

INNER JOIN [TableB] ON [TableB].Field1=  [TableA].Field1,
INNER JOIN [TableC] ON [TableC].Field2 = [TableB].Field2

Set 
[TableA].Field3 = 'Test'

where [TableC].Field4 = 0

是的,这是可能的。

对于SQL SERVER

UPDATE A
Set 
A.Field3 = 'Test'
FROM [TableA] A
INNER JOIN [TableB] B ON B.Field1 = A.Field1
INNER JOIN [TableC] C ON C.Field2 = B.Field2
where C.Field4 = 0

对于MS ACCESS

UPDATE ([TableA]
INNER JOIN [TableB] ON [TableB].Field1 = [TableA].Field1)
INNER JOIN [TableC] ON [TableC].Field2 = [TableB].Field2
Set [TableA].Field3 = 'Test'
where [TableC].Field4 = 0

多连接更新操作的一般语法如下:

UPDATE T1
[INNER JOIN | LEFT JOIN] T2 ON T1.C1 = T2.C1
[INNER JOIN | LEFT JOIN] T3 ON T2.C2 = T3.C2
SET T1.C2 = T2.C2
WHERE condition