MS Access:查询以添加“如果”条件
Posted
技术标签:
【中文标题】MS Access:查询以添加“如果”条件【英文标题】:MS Access : Query to add "If" condition 【发布时间】:2016-01-22 10:49:53 【问题描述】:我有以下 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”列有时可能为空。所以我希望我的查询也显示“ChangeDate”为空的字段。如何将这个条件整合到我的查询中?
【问题讨论】:
【参考方案1】:如果更改日期,对于一个版本和 objectid,都是 NULL
,那么 min(ChangeDate)
也将为 null,并且连接不会成功,因为 a.ChangeDate = NULL
将被评估为 NULL,这是不正确的。
您可以像这样更改 ON 条件:
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);
【讨论】:
【参考方案2】:Nz 可以使用旧技巧:
AND (Nz(a.ChangeDate,b.minimumdate) = b.minimumdate)
【讨论】:
以上是关于MS Access:查询以添加“如果”条件的主要内容,如果未能解决你的问题,请参考以下文章