check this query simplify and build from this
ur table structure with values
CREATE TABLE employeeTemp (emp_id varchar(50), year varchar(50),month bigint,salary DECIMAL(6, 2))
INSERT INTO employeeTemp
VALUES ('1','2014',4,4500),('1','2014',5,5600),('1','2013',7,4530)
;
select query
with temp as
(SELECT emp_id, year,month,salary, row_number() over(partition by emp_id order by emp_id) rn
FROM employeeTemp as b)
SELECT Case WHEN rn>1 THEN '' ELSE emp_id END as emp_id,year,month,salary into #temp from temp
order by year desc
;
with temp1 as
(SELECT emp_id, year,month,salary, row_number() over(partition by year order by year) rn
FROM #temp as b)
SELECT emp_id,Case WHEN rn>1 THEN '' ELSE year END as year,month,salary from temp1
order by month asc
good luck ;-)