2014-01-15 32 views
0

我有一個完美的作品這個SELECT查詢:MS-SQL訪問錯誤(更新在其內部與聚合函數加入)

SELECT T1.Account, T1.Total, T2.Account, T2.Total 
FROM tSummary2 as T1 

INNER JOIN 
(SELECT tSummary2.Account, 
Count(FinalData.ID) AS Total 
FROM tSummary2 
INNER JOIN FinalData 
ON tSummary2.Account = FinalData.Account 
GROUP BY tSummary2.Account) as T2 

ON T2.Account = T1.Account 

我需要T1.Total = T2.Total。 但每次試圖把它變成一個更新查詢與「語法錯誤(缺少操作員)不

這裏就是我想:

UPDATE T1 
SET T1.Total = T2.Total 
FROM tSummary2 as T1 

INNER JOIN 
(SELECT tSummary2.Account, 
Count(FinalData.ID) AS Total 
FROM tSummary2 
INNER JOIN FinalData 
ON tSummary2.Account = FinalData.Account 
GROUP BY tSummary2.Account) as T2 

ON T2.Account = T1.Account 

我缺少什麼

回答

0

你?缺少一個SELECT條款看來。

UPDATE T1 
SET T1.Total = (SELECT T2.Total 
       FROM tSummary2 as T1 
      INNER JOIN 
       (SELECT tSummary2.Account, 
         Count(FinalData.ID) AS Total 
        FROM tSummary2 
       INNER JOIN FinalData 
        ON tSummary2.Account = FinalData.Account 
       GROUP BY tSummary2.Account) as T2 
        ON T2.Account = T1.Account) 

我剛剛添加的SELECT T2.Total

+0

感謝您的快速響應。不幸的是,我現在得到一個錯誤「操作必須使用可更新的查詢。」 – user33801

+0

當然不知道T2.Total只有一個結果。我不知道Access是否知道TOP 1? Yuo可以嘗試SELECT TOP 1 T2.Total,看看會發生什麼? – oerkelens