LISTING 4: Query That Returns Latest and Previous Contract Details (ANSI Subquery Solution) SELECT custid, cdate, amount, (SELECT amount FROM Contracts AS C2 WHERE C2.custid = C1.custid AND cdate = (SELECT MAX(cdate) FROM Contracts AS C3 WHERE C3.custid = C1.custid AND C3.cdate < C1.cdate)) AS prev_amount FROM Contracts AS C1 WHERE cdate = (SELECT MAX(cdate) FROM Contracts AS C4 WHERE C4.custid = C1.custid)