[英]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”列有時可以為空。因此,我希望查詢也顯示“ ChangeDate”為Null的字段。 如何在查詢中整合此條件?
如果一個版本和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);
您可以對Nz使用舊的技巧:
AND (Nz(a.ChangeDate,b.minimumdate) = b.minimumdate)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.