• It shouldn't be rounding if you're not explicitly rounding it.

    Can you post DDL for the table that contain those fields?

    If you're using ROUND(), use the third argument (with a non-zero value) to indicate that SQL Server must truncate and not round.

    EDIT: After examining your query, I found there's a big mess. You should avoid the old types of joins and keep only the new ones to improve readability. You could avoid at least one subquery and maybe even two.

    Luis C.
    General Disclaimer:
    Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?

    How to post data/code on a forum to get the best help: Option 1 / Option 2