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