2014-10-31 34 views
0

我收到錯誤Table name specified more than once執行此代碼後:SQL錯誤:表名稱指定不止一次

UPDATE Ref_zak_tab 
SET uexdate = dbo.Data_inf.date 
FROM dbo.Ref_zak_tab CROSS JOIN dbo.Data_inf 

我能做些什麼呢?

試圖別名後我得到這個:

UPDATE Ref_zak_tab rzt 
SET uexdate = dbo.Data_inf.date 
FROM dbo.Ref_zak_tab CROSS JOIN dbo.Data_inf 

Update cancelled: attempt to update a target row with values from multiple join rows

+0

給出SQL版本,表格定義和數據!雖然它看起來像你試圖將多個值分配到一行的列(不可能)。 – philipxy 2014-11-03 22:04:09

回答

0

你想做什麼標準SQL會拼出作爲

SET uexdate = (SELECT date FROM dbo.Data_inf WHERE (condition here to determine single row in Data_inf))

如果是這樣,那麼就像那樣寫。

0

對於在Ref_zak_tabCROSS JOINData_inf表的每一行返回多行,也許因此無法成功執行UPDATE運營商。

嘗試使用INNER JOIN代替。

UPDATE rzt 
SET rzt.uexdate = dt.date 
FROM dbo.Ref_zak_tab rzt 
INNER JOIN dbo.Data_inf dt ON (*join condition here*) 
相關問題