2013-10-27 47 views
0

我有兩張桌子。我需要通過計算另一個表來填充一個表中的字段。 我寫此查詢,但它不工作:如何通過實際計算另一個表中的行來更新一個表中的計數字段?

update Publisher 
set Publisher.[Count]=Count(Document.Id) 
From Publisher inner join Document 
on Publisher.Name=Document.Organization COLLATE DATABASE_DEFAULT 
+2

你應該張貼你的表結構 – Wistar

+2

也請告訴我們您所使用的數據庫系統。 – 2013-10-27 17:56:28

回答

1

假設SQL Server,您想通過把group by Publisher.Name在查詢結束時解決這個問題。但是,這在更新聲明中是不允許的。所以,你必須使用,而不是相關子查詢:

update 
    p 
set 
    p.[Count] = (
     Select Count(*) 
     From Document d 
     Where p.[Name] = d.Organization collate database_default 
    ) 
From 
    Publisher p; 
相關問題