• This is the problem

    (SELECT SUM([VALPAYPLAN])

    FROM ABC

    WHERE DATE <= Getdate() AND ([TYPE] = 'PAYMENT') GROUP BY ID )

    You need to add an additional filter to this sub query

    SELECT

    ID

    , CASE

    WHEN (SUM([VALPAYREAL]) IS NULL) THEN 0

    ELSE SUM([VALPAYREAL])

    END AS PAYREAL

    , CASE

    WHEN (SUM([VALPAYPLAN]) IS NULL) THEN 0

    ELSE SUM([VALPAYPLAN])

    END AS PAYPLAN

    , (SELECT SUM([VALPAYPLAN])

    FROM ABC

    WHERE

    DATE <= Getdate()

    AND ([TYPE] = 'PAYMENT')

    AND ID = OUTERABC.ID

    GROUP BY

    ID ) AS PAYPLANTODATE

    , CASE

    WHEN (SUM([VALPAYPROCESS])IS NULL) THEN 0

    ELSE SUM([VALPAYPROCESS])

    END AS PAYPROCESS

    FROM

    ABC AS OUTERABC

    WHERE

    ([TYPE] = 'PAYMENT')

    GROUP BY ID

    Edit : Code reformated, as Chris made me feel guilty about not doing it in the frist place 😀

    _________________________________________________________________________
    SSC Guide to Posting and Best Practices