我正在尝试返回记录的最新日期,并且像这样进行INNER JOIN:
If searchVal = findVal Then
Range("C2:C" & LRow).Select
For Each cell In Selection
If cell = resultVal Then
ID = cell.Offset(0, -1).Value
End If
Next
End If
这很好用,它会返回所有日期最晚的记录,并删除没有最高日期的记录。
但是,某些记录在RegDate中具有NULL值。我怎样才能返回这些记录?
如果我将联接设置为LEFT OUTER JOIN,则返回所有日期而不是最高日期。
最好的方法是什么?
答案 0 :(得分:1)
添加OR dbo.registrations.RegDate IS NULL
条件
INNER JOIN (SELECT ID,
Max(RegDate) AS RegDate
FROM dbo.registrations
GROUP BY ID) RI
ON app.ID = RI.ID
AND ( dbo.registrations.RegDate = RI.RegDate
OR dbo.registrations.RegDate IS NULL ) --Here