我有三个表。选择所有记录从一个表,具体的记录从另一个
Table1(Table1Id, Field1, Field2)
Table2(Table2Id, Table1Id, AuditDate, Field1, Field2)
Table3(Table3Id, Table1Id, AuditDate, Field1, Field2)
我想如何处理此做的是选择所有记录和字段的表1,看看表2和表3的匹配Table1Id并选择从表3的最新AuditDate记录。我觉得我需要做一个这样的查询。
SELECT DISTINCT Table1.Table1Id, Table1.Field1, Table1.Field2,
Table2.Field1, Table2.Field2,
Table3.Field1, Table3.Field2
FROM (Table1
INNER JOIN Table2 ON Table1.Table1Id = Table2.Table2Id)
INNER JOIN Table3 ON Table1.Table1Id = Table3.Table3Id
WHERE Table3.AuditDate =
(SELECT MAX(AuditDate) FROM Table3
WHERE Table1.Table1Id = Table3.Table3Id)
这半工程。例如,如果Table3中没有任何与Table1相关的记录,则不会返回。我需要确保创建Table1中每个记录的记录。
我已经标记过此问题,因为它没有正确解释,因此我不想在回复发布后对其进行编辑。我在另一个问题中正确解释了它。 –