我正在使用一个访问数据库,并且我有一些像这样设置的表。
Table1(Table1Id, Field1, Field2, ...)
Table2(Table2Id, Table1Id, AuditDate, Field1, Field2, ...)
我正在尝试选择 Table1 中的每条记录,以及 Table2 中具有最新 AuditDate 的记录。如果表 2 中没有条目可以绑定到表 1,我只想填充表 1 中的一行内容和一堆空字段,表 2 中的数据将来自这些字段。这是我到目前为止的查询。
SELECT Table1.TableId,
Table1.Field1,
Table1.Field2,
Table2.Field1,
Table2.Field2
FROM Table1
LEFT OUTER JOIN Table2 ON Table1.TableId = Table2.Table1Id
WHERE Table2.AuditDate = (SELECT MAX(AuditDate) FROM Table2 WHERE Table1.TableId = Table2.Table1Id)
这样做的问题是它只返回两条记录。Table2 中只有两个条目,但我希望它为 Table1 中的每条记录返回一行数据,而不仅仅是在 Table2 中找到匹配项的记录。