在涉及联接的更新查询中使用条件

奥斯卡奖

我正在使用MS Access

下面的SQL用具有结束日期的tblTorTee记录的数量更新Parent tblContact记录中的CurrNumTees字段(这不是我想要的最终效果,但我将其作为起点。

UPDATE tblContact 
  INNER JOIN tblTorTee ON tblContact.ContactId = tblTorTee.TorId 
SET tblContact!CurNumTees = DCount("[tblTorTee.EndDate]",
  "tbltortee","Torid = " & [ContactId]);

我需要用tblTorTee中没有EndDate的记录数更新CurrNumTees字段,换句话说,该字段为空。我尝试在各种组合和位置中使用WHERE和HAVING和IS NULL,但没有成功。您能帮我指出正确的方向吗?

乔纳森·威尔科克

MS Access COUNT函数不计算空值,因此我认为您必须分两个阶段执行此操作。

首先创建如下查询:

SELECT TorId, IIF(ISNULL(EndDate),1,0) AS isN
FROM tblTorTee
WHERE EndDate IS NULL;

并将其另存为QryEndDateNull

现在,您可以运行像这样的更新查询:

UPDATE tblContact
SET tblContact.CurNumTees = DSUM("IsN","QryEndDateNull","TorId = " & [ContactID]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章