2017-10-09 110 views
1

我正在編寫一個查詢來加入庫存和事務表。根據資產是否有交易,一個字段將告訴您可以採取何種行動(您可以判斷它是否有所有者)。SQL iif()語句返回#Error

我在這個領域中使用這樣的:

SELECT DISTINCTROW Assets.ID, Assets.Item, Assets.Model, Assets.Serial, 
       Assets.Owner, Transfers.[Previous Owner], 
       IIf([Owner]="" Or [Owner] Is Null,"Transfer","Not Available") AS [Action] 
FROM Assets LEFT JOIN Transfers ON Assets.ID = Transfers.Asset; 

Action場的每個記錄返回#Error。如何獲得它告訴我Transferable是否沒有所有者或Unavailable是否擁有所有者?

+0

假設列已正確定義,該表達式不應該生成錯誤。 –

+1

您可以將OR語句更改爲'IIF(NZ(Owner,「」)=「」,Trans .....,但是正如@GordonLinoff所說 - 它應該可以工作。https://msdn.microsoft.com /en-us/library/office/aa172237(v=office.11​​).aspx –

+0

* Owner *的數據類型是什麼?在這裏你把它當作文本字段 – Parfait

回答

0

我明白了:Transfers.Asset數據類型是一個字符串,Assets.ID是一個數字,它們是衝突的。