我想从两个不同的表中添加值,但其中一个表是完全空的。我知道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