2011-10-03 50 views
1

我想從兩個不同的表中添加值,但其中一個表是完全空的。我知道Nz()函數是爲了將空值轉換爲不同的值,即0,但我遇到的問題是表沒有任何數據,所以Nz()不起作用。MS Access + NZ()函數與空表

如果一張表是空的,我可以將兩個表的值加在一起嗎?我知道這似乎毫無意義,最終桌上會有價值,但爲了本週的報道,我需要這樣做。

謝謝

回答

2

我懷疑這是與您的查詢。嘗試在東西線:

SELECT Nz(t1.[Field1],0) + Nz(t2.[Field1],0) As Added 
FROM t1 LEFT JOIN t2 
ON t1.ID = t2.ID 

重要的一點是LEFT JOIN,其中將包括來自T1的所有記錄,即使在T2不匹配。

+1

您需要使用'NZ(場,0)'因爲你忽略第二個參數,'Nz'會返回一個空字符串。 –

+0

哎呀,謝謝@Christian – Fionnuala

+0

你認爲我現在已經學會了這些東西。感謝Remou! – jerry

0

請注意,Nz()功能在Access UI之外不可用。下面是避免Nz()另一種方法:

SELECT t1.Field1 + t2.Field1 AS Added 
    FROM t1 INNER JOIN t2 ON t1.ID = t2.ID 
UNION 
SELECT 0 AS Added 
    FROM t2 
HAVING COUNT(*) = 0;