Sql Nz()在MS Access中不工作
我有一个交叉表查询,它将患者ID作为值计算Sql Nz()在MS Access中不工作,sql,ms-access,ms-access-2007,Sql,Ms Access,Ms Access 2007,我有一个交叉表查询,它将患者ID作为值计算 Total = Nz(Count(Research.Patient_ID))+0 我也尝试过: Total = Nz(Count(Research.Patient_ID) 还有 Total = Nz(Count(Research.Patient_ID, 0) etc.Nz()仅在至少一个值不为null时才起作用。但是,如果它们都为null,则我看不到任何内容,而不是看到所有0 这是有问题的,因为我使用这些查询作为子查询。主查询从这个(以及其他类似
Total = Nz(Count(Research.Patient_ID))+0
我也尝试过:
Total = Nz(Count(Research.Patient_ID)
还有
Total = Nz(Count(Research.Patient_ID, 0)
etc.Nz()仅在至少一个值不为null时才起作用。但是,如果它们都为null,则我看不到任何内容,而不是看到所有0
这是有问题的,因为我使用这些查询作为子查询。主查询从这个(以及其他类似的)查询中获取值并将它们添加到一起。不幸的是,如果其中一个子查询完全为null,那么不管是否应该为null,总和实际上都会变成null
例如:
subquery1: Nz(Count(Research.Patient_ID))+0
subquery2: Nz(Count(Research.All_ID))+0
mainquery: subquery1 + subquery2
if subquery1 = 4, and subquery2 = Null...
mainquery = subquery1 + subquery2
mainquery = Null
当真的
mainquery = 4
请帮助。nz(null,null)+0
将始终为null
,因为null+任何东西都是null
如果nz()
可以返回null
,只需应用另一个nz()
来处理它
SELECT ... nz(nz([value1], [value2]), 0)
nz(null,null)+0
将始终是null
,因为null+任何东西都是null
如果nz()
可以返回null
,只需应用另一个nz()
来处理它
SELECT ... nz(nz([value1], [value2]), 0)
您可能应该更详细地说明,并将两个计数相加的确切部分发布在主查询中
到目前为止,我只能猜测您需要向主查询表达式添加NZ()
,类似(使用伪代码)
您可能应该更详细地说明,并将两个计数相加的确切部分发布在主查询中
到目前为止,我只能猜测您需要向主查询表达式添加NZ()
,类似(使用伪代码)
在此查询中,主查询生成两个子查询中确定的计数之和。这就是你想要的吗
SELECT
Nz(s1.CountOfPatient_ID,0) + Nz(s2.CountOfAll_ID,0)
FROM
[SELECT Count(Patient_ID) AS CountOfPatient_ID FROM Research]. AS s1,
[SELECT Count(All_ID) AS CountOfAll_ID FROM Research]. AS s2
在此查询中,主查询生成两个子查询中确定的计数之和。这就是你想要的吗
SELECT
Nz(s1.CountOfPatient_ID,0) + Nz(s2.CountOfAll_ID,0)
FROM
[SELECT Count(Patient_ID) AS CountOfPatient_ID FROM Research]. AS s1,
[SELECT Count(All_ID) AS CountOfAll_ID FROM Research]. AS s2
请您至少发布一个完整的查询和示例数据好吗?您的新西兰示例没有一个是正确的——它们是打字错误吗?它应该是Nz(表达式,值),所以Nz(Count(Research.Patient_ID),0)-您的两个示例有不平衡的参数,第一个没有实际值。请您至少发布一个完整的查询和示例数据,好吗?您的Nz示例看起来都不对——它们是打字错误吗?它应该是Nz(表达式,值),因此Nz(Count(Research.Patient_ID),0)-您的两个示例有不平衡的参数,第一个没有实际值。null+任何内容都是未知的(逻辑值而不是数据值)。。。哦,等等,这是ms-access
,它的null与SQL的null不同;)这是怎么回事?也就是说,“Access的”Null与SQL如何不同(撇开Access没有Null的事实不谈,但是Jet/ACE SQL和VBA有Null)?Null+任何东西都是未知的(逻辑值而不是数据值)。。。哦,等等,这是ms-access
,它的null与SQL的null不同;)这是怎么回事?也就是说,“Access的”Null与SQL如何不同(撇开Access没有Null的事实不谈,但是Jet/ACE SQL和VBA有Null)?