Perhaps you have more than one booking id for a TransactionID and purchaseID combination? It's a wild guess, but you can check if that is so using this query. If it returns any rows at all, then you do:with cte_Transas (select transactionid, purchaseID, bookingID,MIN(convert(date,TransactionPurchaseDate)) as 'TransactionPurchaseDate'from dbo.Ticket_Historywhere TransactionMOP <> 0------------and BookingID = 542066group by transactionid, purchaseID , bookingID) SELECT transactionid, purchaseID, COUNT(*)FROM cte_Trans GROUP BY transactionid, purchaseID HAVING COUNT(*) > 1