采取以下措施:
SELECT
Count(a.record_id) AS newrecruits
,a.studyrecord_id
FROM
visits AS a
INNER JOIN
(
SELECT
record_id
, MAX(modtime) AS latest
FROM
visits
GROUP BY
record_id
) AS b
ON (a.record_id = b.record_id) AND (a.modtime = b.latest)
WHERE (((a.visit_type_id)=1))
GROUP BY a.studyrecord_id;
COUNT
如果没有记录,我想修改该部分以显示零,因为我假设COUNT
将评估为Null
.
我尝试了以下但仍然没有结果:
IIF(ISNULL(COUNT(a.record_id)),0,COUNT(a.record_id)) AS newrecruits
这是一个问题,因为加入是打开的record_id
吗?我尝试将其更改为INNER
,LEFT
但也没有收到任何结果。
Q 如果没有符合条件的记录,如何使上述评估为零?
编辑:
稍微详细说明一下推理。
研究表包含一个名为“original_recruits”的字段,该字段基于使用数据库之前的活动。
访问表跟踪 new_recruits(每项研究的记录计数)。
我将这些组合在另一个查询中(original_recruits + new_recruits)- 如果没有新招募人员,我仍然需要显示 original_recruits,因此如果没有记录,我需要将其评估为零而不是 null,因此最终总和仍然有效。