• Solved it using Table variables.

    DECLARE @T TABLE

    (

    AfdelingZPT varchar(3) COLLATE database_default ,

    Uren Float

    ) ;

    DECLARE @TT TABLE

    (

    AfdelingZPT varchar(3) COLLATE database_default ,

    Uren Float

    ) ;

    DECLARE @LOCATIECODE VARCHAR(5),@Jaar int, @Week int

    SET @LocatieCode = 'Ru'

    SET @week = 40

    SET @jaar = 2014

    DECLARE @Flexpool varchar(9)

    -- Assign value to @Flexpool

    SELECT @Flexpool = Flexpool FROM Huizen WHERE IDHuis = @LOCATIECODE;

    INSERT INTO @TT (AfdelingZPT, Uren)

    (

    --GET INZET FROM DRP, DAG/AVOND & VAST

    SELECTAfdelingZPT, sum(cast(DUUR as float))/60 as Uren

    FROMDRPDATA

    WHERELocatieCode = @LocatieCode

    --AND AfdelingZPT = @Afdeling

    AND dbo.isoyear(Begindatum) = @Jaar

    AND DATEPART(ISO_WEEK,Begindatum) = @WEEK

    AND DienstGroep ='DAG/AVOND'

    AND OEGroep ='ZORG'

    AND FlexVast ='VAST'

    AND NiveauZPT <>'STAGIAIR'

    AND NiveauZPT IN('1','2','2+','3','4','5')

    GROUP BY LocatieCode, DATEPART(ISO_WEEK, Begindatum), AfdelingZPT,DienstGroep,FlexVast, OEGroep

    UNION ALL

    SELECTM.AfdelingZPT, SUM(M.Hrs) AS Uren

    FROMDRPHrsManual M

    WHEREM.LocatieCode = @LocatieCode

    --AND M.AfdelingZPT = @Afdeling

    AND dbo.isoyear(Begindatum) = @Jaar

    AND DATEPART(ISO_WEEK,Begindatum) = @WEEK

    AND M.DienstGroep = 'FLEXPOOL'

    AND M.NiveauZPT <> 'STA'

    AND M.NiveauZPT IN ('1','2','2+','3','4','5')

    AND @Flexpool = 'WAAR'

    GROUP BY M.LocatieCode, DATEPART(ISO_WEEK, M.Begindatum), M.AfdelingZPT, M.DienstGroep

    --ELSE

    -- GET PNIL FLEX

    UNION ALL

    SELECTM.AfdelingZPT, SUM(M.Hrs) AS Uren

    FROMDRPHrsManual M

    WHEREM.LocatieCode = @LocatieCode

    --AND M.AfdelingZPT = @Afdeling

    AND dbo.isoyear(Begindatum) = @Jaar

    AND DATEPART(ISO_WEEK,Begindatum) = @WEEK

    AND M.DienstGroep = 'PNILFLEX'

    AND M.NiveauZPT = 'PNIL'

    GROUP BY M.LocatieCode, DATEPART(ISO_WEEK, M.Begindatum), M.AfdelingZPT, M.DienstGroep

    -- GET HRS NIET IN DRP

    UNION ALL

    SELECTM.AfdelingZPT, SUM(M.Hrs) AS Uren

    FROMDRPHrsManual M

    WHEREM.LocatieCode = @LocatieCode

    --AND M.AfdelingZPT = @Afdeling

    AND dbo.isoyear(Begindatum) = @Jaar

    AND DATEPART(ISO_WEEK,Begindatum) = @WEEK

    AND M.DienstGroep = 'NOTINDRP'

    AND M.NiveauZPT = 'NID'

    GROUP BY M.LocatieCode, DATEPART(ISO_WEEK, M.Begindatum), M.AfdelingZPT, M.DienstGroep

    -- GET INLEEN HRS

    UNION ALL

    SELECTM.AfdelingZPT, SUM(M.Hrs) AS Uren

    FROMDRPHrsManual M

    WHEREM.LocatieCode = @LocatieCode

    --AND M.AfdelingZPT = @Afdeling

    AND dbo.isoyear(Begindatum) = @Jaar

    AND DATEPART(ISO_WEEK,Begindatum) = @WEEK

    AND M.DienstGroep = 'INLEEN'

    AND M.NiveauZPT <> 'STA'

    AND M.NiveauZPT IN ('1','2','2+','3','4','5')

    GROUP BY M.LocatieCode, DATEPART(ISO_WEEK, M.Begindatum), M.AfdelingZPT, M.DienstGroep

    -- GET UITLEEN HRS

    UNION ALL

    SELECTM.AfdelingZPT, -SUM(M.Hrs) AS Uren

    FROMDRPHrsManual M

    WHEREM.LocatieCode = @LocatieCode

    --AND M.AfdelingZPT = @Afdeling

    AND dbo.isoyear(Begindatum) = @Jaar

    AND DATEPART(ISO_WEEK,Begindatum) = @WEEK

    AND M.DienstGroep = 'UITLEEN'

    AND M.NiveauZPT <> 'STA'

    AND M.NiveauZPT IN ('1','2','2+','3','4','5')

    GROUP BY M.LocatieCode, DATEPART(ISO_WEEK, M.Begindatum), M.AfdelingZPT, M.DienstGroep

    );

    INSERT INTO @T (AfdelingZPT, Uren)

    (

    SELECTAfdelingZPT, sum(DUUR/60.0) as Uren

    FROMDRPDATA

    WHERELocatieCode = @LocatieCode

    --AND AfdelingZPT = @Afdeling

    AND dbo.isoyear(Begindatum) = @Jaar

    AND DATEPART(ISO_WEEK,Begindatum) = @WEEK

    AND DienstGroep ='Overig'

    AND OEGroep ='ZORG'

    AND FlexVast ='VAST'

    AND NiveauZPT <>'STAGIAIR'

    AND NiveauZPT IN('1','2','2+','3','4','5')

    GROUP BY LocatieCode, DATEPART(ISO_WEEK, Begindatum), AfdelingZPT,DienstGroep,FlexVast, OEGroep

    );

    SELECTTT.AfdelingZPT, SUM(TT.Uren) INZET,

    (

    SELECT T.Uren

    FROM @T T

    WHERE TT.AfdelingZPT = T.AfdelingZPT

    ) OVERIG

    FROM@TT TT

    GROUP BY TT.AfdelingZPT;