• This should give you what you're looking for...

    -- Test data --

    IF OBJECT_ID('tempdb..#temp') IS NOT NULL

    DROP TABLE #temp;

    CREATE TABLE #temp (

    FY INT,

    REVCODE VARCHAR(3),

    Jul INT,

    Jun INT

    );

    INSERT #temp (FY,REVCODE,Jul,Jun) VALUES

    (2015,'BNQ',1054839,2000000),

    (2015,'FNB',89032,1000000),

    (2015,'RS',1067299,3000000);

    -- The solution --

    SELECT

    t.FY,

    x.[Month],

    SUM(CASE WHEN t.REVCODE = 'BNQ' THEN x.Amount ELSE 0 END) AS BNQ,

    SUM(CASE WHEN t.REVCODE = 'FNB' THEN x.Amount ELSE 0 END) AS FNB,

    SUM(CASE WHEN t.REVCODE = 'RS' THEN x.Amount ELSE 0 END) AS RS

    FROM

    #temp t

    CROSS APPLY (VALUES ('Jul', t.Jul), ('Jun', t.Jun)) x ([Month],Amount)

    GROUP BY

    t.FY,

    x.[Month]

    The results...

    FYMonthBNQFNBRS

    2015Jul1054839890321067299

    2015Jun200000010000003000000