• Thank you so much for your reply. I did try what you gave me and it reduced my total result set. Not long after that I managed to get the SQL to work, but Selecting the Reading Dates for the Cars for the selected Month and Next Month using

    [font="Courier New"]Select O.Registration_No, Min(O.READING_DATE) as ReadingDate

    from COM_ODO_READINGS O

    WHERE Month(o.READING_DATE) = @StatusDateMonth and Year(o.READING_DATE) = @StatusDateYear

    Group By O.Registration_No[/font]

    The other query is the same except the WHERE clause has the next month. This gave me, as you can see, a Registration Number and the First Date for the Selected Month and Year.

    I used this result set joined to the list of cars to get the reading based on those two dates, where the Reading dates were equal with that Registration Number, which was the exact reading I was after.

    Once again, thank you for your help and the answer you gave, certainly gave me a better understanding of using the OVER and PARTITION BY.

    Kind Regards

    Michael Rogers