我有兩個表:DIM_Staff
和FACT_Sales
SQL - 更新表,沒有索引
我想從DIM_Staff
更新[e-mail]
到FACT_Sales
。
鏈接[e-mail]
的唯一方法是通過DIM_Staff.[Name]
和FACT_Sales.[Name]
,因爲沒有社會安全號碼。
我已經通過這兩個表檢查拼寫錯誤。
這是我到目前爲止已經試過:
UPDATE [vdb].[dbo].[FACT_Sales]
SET [e-mail] = (SELECT [e-mail] FROM DIM_Staff WHERE [Name] = [dbo].[FACT_Sales].[Name])
UPDATE [vdb].[dbo].[FACT_Sales]
SET [e-mail] = (SELECT [e-mail] FROM DIM_Staff WHERE [Name] in (SELECT [Name] FROM [dbo].[FACT_Sales])
錯誤消息:
消息512,級別16,狀態1,行1
子查詢返回多個值。當子查詢遵循=,!=,<,< =,>>,> =或當子查詢用作表達式時,這是不允許的。該語句已終止。
它應該是一個非常基本的更新?
尼斯維克拉姆!作爲魅力工作,謝謝:) – AceAlfred 2012-03-13 10:39:38