簡體   English   中英

MS Access:查詢以添加“如果”條件

[英]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的更改日期都為NULLmin(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM