我已經搜索了幾個其他的問題,但我仍然無法得到正確的結果。我想根據CaseId
獲得Document
表中的所有記錄,並獲得最近的Status
。我有兩個表:SQL狀態使用最近的日期
文件:
DocumentId | CaseId | Name
----------------------------------------
2 | 23 | Document 1
3 | 23 | Document 2
4 | 24 | Document 3
審計日誌:
AuditLogId | Status | DocumentId | Date Created
---------------------------------------------------------
10 | Active | 2 | 4/2/2017
11 | Draft | 2 | 4/1/2017
12 | Released | 2 | 4/3/2017
13 | Draft | 3 | 4/17/2017
14 | Draft | 4 | 4/17/2017
所以對於CaseId: 23
期望的結果將是:
Status | DocumentId | CaseId | Name
----------------------------------------------
Released | 2 | 23 | Document 1
Draft | 3 | 23 | Document 2
我有關閉該查詢,但是這只是給了我最近的所有結果爲CaseId 23
,而不是由DocumentId
分組:
Select s.Status, lh.* from LegalHold lh join(
Select Status, LegalHoldId
FROM LegalHoldAuditLog
WHERE DateCreated = (select max(DateCreated)
from LegalHoldAuditLog)) s on lh.LegalHoldId = s.LegalHoldId
WHERE lh.CaseId = 23
沒有爲'DocumentId = 3'在'AuditLog'表只是一個記錄,這個記錄有'狀態= Draft'。你如何在結果中擁有「主動」? –
@GiorgosBetsos可能只是與DocumentId字段混淆。 –
@GiorgosBetsos是的,我的錯誤,我已經更新了結果 – user2884789