我想從兩個不同的表中添加值,但其中一個表是完全空的。我知道Nz()函數是爲了將空值轉換爲不同的值,即0,但我遇到的問題是表沒有任何數據,所以Nz()不起作用。MS Access + NZ()函數與空表
如果一張表是空的,我可以將兩個表的值加在一起嗎?我知道這似乎毫無意義,最終桌上會有價值,但爲了本週的報道,我需要這樣做。
謝謝
我想從兩個不同的表中添加值,但其中一個表是完全空的。我知道Nz()函數是爲了將空值轉換爲不同的值,即0,但我遇到的問題是表沒有任何數據,所以Nz()不起作用。MS Access + NZ()函數與空表
如果一張表是空的,我可以將兩個表的值加在一起嗎?我知道這似乎毫無意義,最終桌上會有價值,但爲了本週的報道,我需要這樣做。
謝謝
我懷疑這是與您的查詢。嘗試在東西線:
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不匹配。
請注意,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;
您需要使用'NZ(場,0)'因爲你忽略第二個參數,'Nz'會返回一個空字符串。 –
哎呀,謝謝@Christian – Fionnuala
你認爲我現在已經學會了這些東西。感謝Remou! – jerry