Since you're including the column [dateActual] in your GROUP by, you will get a row for each datetime value (I assume that column is datetime or smalldatetime)EDIT:I would also move your having clause up to a where clause. Pehaps:SELECT tblClient.clientName AS RSN ,SUM(tblSpot.rateActual) AS TotalAmount ,tblBroadcastMonth.description AS BroadCastMonthFROM tblContract JOIN tblSpot ON tblContract.pkid = tblSpot.fkContract JOIN tblClient ON tblContract.fkClient = tblClient.pkid CROSS JOIN tblBroadcastMonthwhere tblBroadcastMonth.description LIKE '%DEC 05%'and tblSpot.dateActual BETWEEN '12/1/2005' AND '12/31/2005'GROUP BY tblClient.clientName ,tblBroadcastMonth.description
Be One with the OptimizerTG