2015-09-15 78 views
0

工作,我有一個查詢Access查詢不DISTINCT和Val()

SELECT col1, Val(col2) 
FROM table1; 

其中COL2是文本數據類型。

我想使用DISTINCT這裏,

SELECT DISTINCT col1, Val(col2) 
FROM table1; 

,但是當我添加它,我有一個錯誤 「Data type mismatch in criteria expression」。

當我嘗試排序column2(對於第一個查詢)時,我有同樣的錯誤。爲什麼?

+0

編輯您的問題並顯示不起作用的查詢。 –

+0

什麼數據類型是col1?而你最近想用DISTINCT來對付這個專欄?這可能有助於https://support.microsoft.com/en-us/kb/175258 – fez

+0

Gordon:我寫道Distinct查詢不起作用。爲什麼投票?我編輯了我的問題並添加了它。 – maro

回答

1

我在回答我的問題。 由於某些行在col2中有NULL值,並且SQL無法比較兩個NULL以找到不同的行,因此應該添加WHERE col2 IS NOT NULL

SELECT DISTINCT col1, Val(col2) 
FROM table1 
WHERE col2 IS NOT NULL; 
3

Val函數不處理NULL值。將第二列更改爲Val(nz(col2,「」))