我有三個表。選擇所有記錄從一個表,具體的記錄從另一個
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中每個記錄的記錄。
我已經標記過此問題,因爲它沒有正確解釋,因此我不想在回覆發佈後對其進行編輯。我在另一個問題中正確解釋了它。 –