MS Access:查询以添加 "If" 条件

MS Access : Query to add "If" condition

我有以下 MS Access 查询:

SELECT a.*
FROM Version_Change AS a
RIGHT JOIN
  (SELECT VERSION,
          min(ChangeDate) AS minimumdate,
          ObjectID
   FROM Version_Change
   GROUP BY ObjectID,
            VERSION) AS b ON(a.VERSION = b.VERSION)
AND (a.ChangeDate = b.minimumdate)
AND (a.ObjectID = b.ObjectID);

问题 是列 "ChangeDate" 有时可以是 blank.So 我希望我的查询也显示 "ChangeDate" 的字段一片空白。如何将此条件整合到我的查询中?

如果一个版本和 objectid 的更改日期都是 NULL,则 min(ChangeDate) 也将为空,并且连接不会成功,因为 a.ChangeDate = NULL 将被评估为NULL 这不是真的。

您可以这样更改开启条件:

ON (a.version = b.version)
   AND
   (
     (a.ChangeDate = b.minimumdate)
     OR
     (a.ChangeDate IS NULL AND b.minimumdate IS NULL)
   )
   AND (a.ObjectID = b.ObjectID);

你可以用老办法 Nz:

AND (Nz(a.ChangeDate,b.minimumdate) = b.minimumdate)