使用子选择和位置更新

Update with subselect and where

以下代码在 T-SQL 中运行良好,但在 JET SQL 中运行良好,在 Access 中:

UPDATE Superliste_Temp 
SET [Plan-TGrp-Spanne_Stfl1] = 
(SELECT [Plan-TGrp-Spanne_Stfl1] 
 FROM Superliste_Temp
 INNER JOIN dbo_Common_preferences
     ON Superliste_Temp.Teil = dbo_Common_preferences.AktivesTeil)
WHERE [Teilegruppe] = 
(SELECT [Teilegruppe] 
 FROM Superliste_Temp
 INNER JOIN dbo_Common_preferences
     ON Superliste_Temp.Teil = dbo_Common_preferences.AktivesTeil);

为什么不起作用!?

我很难看 SQL 来弄清楚它在做什么,但我知道 Jet SQL 需要在 JOINS 之后使用 SET 语句,所以我最好的猜测是:

UPDATE Superliste_Temp, Superliste_Temp AS ST1 
    INNER JOIN dbo_Common_preferences AS pref1 
    ON ST1.Teil = pref1.AktivesTeil 
SET Superliste_Temp.[Plan-TGrp-Spanne_Stfl1] = [ST1]![Plan-TGrp-Spanne_Stfl1]
WHERE (((Superliste_Temp.Teilegruppe)=[ST1]![Teilegruppe]));