我正在使用Access 2010.編寫Iif語句更新表
我想在三個表之間執行操作。第一個和第二個表具有相同的ID字段,因此使用它進行連接。第二個和第三個表具有部門的ID,因此使用它們進行連接。不過,並不是第二張表中的所有ID都存在於第三張表中。
我正在嘗試運行將更新第一個表中的字段的查詢。該查詢將確定第二個表中的Department ID是否存在於第三個表中。如果是,則使用該第三個表(部門ID全名)中的另一個字段更新第一個表。如果不是,則使用第二個表中現有的部門ID更新第一個表。
這是我到目前爲止有:
Field: Relevant field in Table 1
Table: Table 1
Update To: IIf([Table 2].[Dept ID] In (SELECT [Table 3].[Dept ID] FROM [Table 3]),[Table 3].[Dept ID Full Name],[Table 2].[Dept ID])
我從來沒有寫入之前這樣的事和我完全陌生的IIF查詢,所以我不知道這是否甚至遠程關閉!目前我有一個錯誤:「操作必須使用可更新的查詢」。
編輯 - 在SQL:
UPDATE
([Table 1] INNER JOIN
[Table 2 ON [Table 1].[ID] = [Table 2].[ID]) INNER JOIN
[Table 3] ON [Table 2].[Dept ID] = [Table 3].[Dept ID]
SET [Table 1].[Dept] =
IIf([Table 2].[Dept ID] In (SELECT [Table 3].[Dept ID] FROM [Table 3]),
[Table 3].[Dept Name],[Table 2].[Dept ID]);
我不確定那是什麼,對不起。如果有幫助,我在後臺添加了SQL代碼。 –