내 SQL- 쿼리는 이전 레코드 (클레임)를 반환해야합니다. Previous는 다른 기본 키 (idData), 동일한 SSN_Number 및 이전 Received_Date를 가짐을 의미합니다. 문제는 Received_Date가 같을 수 있으므로 다른 열을 찾아야한다는 것입니다. 우선 순위는 정렬 순서와 동일해야합니다. 쿼리가 두 ID가 다른 레코드 (두 클레임이 서로에 대해 이전이므로)를 반환하기 때문에 내가 뭘 잘못 했습니까? SQL에 어떤 문제가 있습니까? ("이전"레코드 찾기)
내 두 테스트 - 레코드를
는 다음과 같습니다SELECT TOP (1) Claim.idData AS ClaimID,
PrevClaim.idData AS PrevClaimID
FROM tabData AS Claim
INNER JOIN tabData AS PrevClaim
ON Claim.SSN_Number = PrevClaim.SSN_Number
AND Claim.idData <> PrevClaim.idData
AND (Claim.Received_Date > PrevClaim.Received_Date
OR Claim.Claim_Creation_Date > PrevClaim.Claim_Creation_Date
OR Claim.Repair_Completion_Date >
PrevClaim.Repair_Completion_Date
OR Claim.Claim_Submitted_Date >
PrevClaim.Claim_Submitted_Date)
WHERE (Claim.idData = @claimID)
ORDER BY PrevClaim.Received_Date DESC,
PrevClaim.Claim_Creation_Date DESC,
PrevClaim.Repair_Completion_Date DESC,
PrevClaim.Claim_Submitted_Date DESC
편집 : same SSN_Number http://www.bilder-hochladen.net/files/4709-kr.jpg
는 SQL-쿼리가 이것이다
: Mongus 퐁에 따라이 올바른 SQL입니다 답변SELECT TOP (1) Claim.idData AS ClaimID, PrevClaim.idData AS PrevClaimID
FROM tabData AS Claim INNER JOIN tabData AS PrevClaim
ON Claim.SSN_Number = PrevClaim.SSN_Number
AND Claim.idData <> PrevClaim.idData
AND (Claim.Received_Date > PrevClaim.Received_Date
OR Claim.Received_Date = PrevClaim.Received_Date AND Claim.Claim_Creation_Date > PrevClaim.Claim_Creation_Date
OR Claim.Received_Date = PrevClaim.Received_Date AND Claim.Claim_Creation_Date = PrevClaim.Claim_Creation_Date AND Claim.Repair_Completion_Date > PrevClaim.Repair_Completion_Date
OR Claim.Received_Date = PrevClaim.Received_Date AND Claim.Claim_Creation_Date = PrevClaim.Claim_Creation_Date AND Claim.Repair_Completion_Date = PrevClaim.Repair_Completion_Date AND Claim.Claim_Submitted_Date > PrevClaim.Claim_Submitted_Date)
WHERE (Claim.idData = @claimID)
ORDER BY PrevClaim.Received_Date DESC,
PrevClaim.Claim_Creation_Date DESC,
PrevClaim.Repair_Completion_Date DESC,
PrevClaim.Claim_Submitted_Date DESC
고맙습니다. 그게 효과가있다. 나는 그것이 그와 같을 것임에 틀림 없다고 생각했다. 그러나 나는 그것에 대해 혼란스러워했다. :) –