You should ALWAYS provide the actual fields for each table to avoid misunderstandings.
This should solve the problem...
;WITH LatestSells AS (<br /> SELECT s1.* <br /> FROM dbo.Sells AS s1<br /> INNER JOIN (<br /> SELECT DISTINCT Customer_ID<br /> , ( SELECT TOP 1 Sell_ID <br /> FROM dbo.Sells <br /> WHERE Customer_ID = sx.Customer_ID <br /> ORDER BY Sell_Date DESC <br /> ) AS Sell_ID<br /> FROM dbo.Sells AS sx<br /> ) AS s2 ON s1.Customer_ID = s2.Customer_ID AND s1.Sell_ID = s2.Sell_ID<br />)<br />SELECT c.*, s.*<br />FROM dbo.Customers AS c<br />LEFT OUTER JOIN LatestSells AS s<br />ON c.Customer_ID = s.Customer_ID<br />