SELECT     

G.Amount, G.DTE, R.FULL_NAME

FROM         

RECORDS AS R INNER JOIN

(SELECT     CONSTIT_GIFTS.CONSTIT_ID AS Constit_ID, MAX(CONSTIT_GIFTS.GIFT_ID) AS Gift_ID

FROM          CONSTIT_GIFTS INNER JOIN GIFT ON CONSTIT_GIFTS.GIFT_ID = GIFT.ID

WHERE (GIFT.DTE = (SELECT     MAX(G2.DTE) AS Expr1 FROM CONSTIT_GIFTS AS CG2 INNER JOIN

GIFT AS G2 ON CG2.GIFT_ID = G2.ID

WHERE      (CG2.CONSTIT_ID = Constit_Gifts.Constit_ID)))

GROUP BY CONSTIT_GIFTS.CONSTIT_ID) AS A ON A.Constit_ID = R.ID INNER JOIN

GIFT AS G ON A.Gift_ID = G.ID

ORDER BY R.CONSTITUENT_ID ASC

Disclaimer: We provide programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes you are familiar with Structured Query Language and the tools used to create and modify SQL statements and Crystal Reports. Our Customer Support may help explain the functionality of a particular procedure, but we will not modify, or assist you with modifying, these examples to provide additional functionality.