2016-06-10 81 views
0

我有兩個Access中鏈接的SQL Server表。他們都加入了一個簡單的訪問查詢。訪問2013年SQL查詢空處理

SELECT * From TableMain 
LEFT JOIN TableJoin on TableMain.ID=TableJoin.ID 
WHERE TableMain.ID Is Not Null AND (TableJoin.Category='Category1' OR TableJoin.Category Is Null); 

我無法檢索TableJoin.Category爲null的行。我試過Is Null<>NullIs Null在SQL服務器中使用相同的兩個表,並且根據the Microsoft help page它也應該在Access中工作。我錯過了什麼?

+1

ODBC驅動程序可能會被拉動類別字段通過作爲零長度字符串而不是null。也許嘗試像這樣:Len(Nz(TableJoin.Category,「」))= 0或沿着這些線? – Fink

+0

try nz(TableJoin.Category ='Category1')='Category1' – nazark

回答

0

一些方法來檢查,如果一個值爲null:

  • ISNULL(TableJoin.Category)
  • MainTable.ID爲空
  • 萊恩(NZ(TableJoin.Category, 「」)) = 0(功勞以上芬克的回答)

同樣(爲將來方便讀者),以檢查是否值不爲空:

  • 不ISNULL(TableJoin.Category)
  • MainTable.ID IS NOT NULL
  • 萊恩(NZ(TableJoin.Category, 「」))<> 0