试图在MS Access中提出SQL查询,但是空值和聚合函数让我感到难过。任何帮助赞赏。
查询显示来自TABLE1的记录,其中EditDate(可能为null)大于TABLE2中的最大LastImportDate。
TABLE1
字段名称 - 数据类型 ReportID - 数量 EditDate - 日期/时间
TABLE2
字段名称 - 数据类型 LastImportDate - 日期/时间
谢谢。
答案 0 :(得分:0)
SELECT *
FROM table1
WHERE editDate > (
SELECT max(lastImportDate)
FROM table2
)
不确定转换为访问查询的确切方式,但这就是主意。
此外,如果您可以将最大日期作为单独的变量分解,这将使您获得更好的性能 - 例如:
DECLARE @maxDate DATETIME
SET @maxDate = (
SELECT max(lastImportDate)
FROM table2
)
SELECT *
FROM table1
WHERE editDate > @maxDate
最后,如果你想要有一个null editDate的日期,你可以让查询将null解释为某个任意日期,如isNull(editDate,' 1900-01-01') - 这将使null editDates被解释为1900年1月1日