it is called pivot, but as i don't have a 2012 sql server i don't know if pivoz was already there.
so you can use at least the classical way
CREATE TABLE items (
"EmpID" INTEGER,
"Dept" VARCHAR(5),
"ItemCode" INTEGER,
"IssueDate" VARCHAR(10)
);
INSERT INTO items
("EmpID", "Dept", "ItemCode", "IssueDate")
VALUES
('10001', 'ELECT', '400001', '28/02/2020'),
('10002', 'MECH', '400001', '20/03/2020'),
('10001', 'ELECT', '400001', '01/03/2021'),
('10001', 'ELECT', '400001', '05/04/2022'),
('10002', 'MECH', '400001', '28/04/2021'),
('10003', 'CIVIL', '400001', '28/02/2022');
GO
SELECT
"EmpID", "Dept", "ItemCode"
, MAX(CASE WHEN YEAR(convert(DATE,"IssueDate", 103)) = 2020 THEN "IssueDate" ELSE NULL END) '2020'
, MAX(CASE WHEN YEAR(convert(DATE,"IssueDate", 103)) = 2021 THEN "IssueDate" ELSE NULL END) '2021'
, MAX(CASE WHEN YEAR(convert(DATE,"IssueDate", 103)) = 2022 THEN "IssueDate" ELSE NULL END) '20212'
FROM [items]
GROUP BY "EmpID", "Dept", "ItemCode"
GO
EmpID | Dept | ItemCode | 2020 | 2021 | 20212
----: | :---- | -------: | :--------- | :--------- | :---------
10001 | ELECT | 400001 | 28/02/2020 | 01/03/2021 | 05/04/2022
10002 | MECH | 400001 | 20/03/2020 | 28/04/2021 | null
10003 | CIVIL | 400001 | null | null | 28/02/2022
db<>fiddle here