• I finally got this to create the view successfully with the following code:

    WITH MyCTE AS (SELECT TOP (1) nomcode AS Retained

    FROM dbo.ctlfil

    WHERE (recid = 24)

    ORDER BY Retained)

    SELECT dbo.nomfil.nomcode, ISNULL(calc.val, 0) AS ytdper, calc.costcentre

    FROM dbo.nomfil LEFT OUTER JOIN

    (SELECT CASE WHEN nomfil_1.type IN (3, 4) THEN nomtrn.nomcode ELSE MyCTE_1.Retained END AS nomcode,

    SUM(dbo.nomtrn.val * (1 - 2 * dbo.nomtrn.crddbt)) AS val, dbo.nomtrn.costcentre

    FROM dbo.nomtrn INNER JOIN

    dbo.nomfil AS nomfil_1 ON dbo.nomtrn.nomcode = nomfil_1.nomcode CROSS JOIN

    MyCTE AS MyCTE_1

    WHERE (dbo.nomtrn.period <

    (SELECT glpernum / 100 * 100 AS Expr1

    FROM dbo.perfil))

    GROUP BY CASE WHEN nomfil_1.type IN (3, 4) THEN nomtrn.nomcode ELSE MyCTE_1.Retained END, dbo.nomtrn.costcentre) AS calc ON

    calc.nomcode = dbo.nomfil.nomcode

    Thanks for the help everyone