私は3つのテーブルを持っています。
Table1(Table1Id, Field1, Field2)
Table2(Table2Id, Table1Id, AuditDate, Field1, Field2)
Table3(Table3Id, Table1Id, AuditDate, Field1, Field2)
これでやりたいことは、Table1 のすべてのレコードとフィールドを選択し、Table2 と Table3 を調べて一致する Table1Id を探し、Table3 から最新の 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 のすべてのレコードのレコードが作成されていることを確認する必要があります。