with out using the pivot and some more code added here is one answer with just the two columns
declare @t table
(
STUID int,
SUB1 varchar(30),
SUB2 varchar(30),
SUB3 varchar(30)
);
declare @n table(stuid int)
INSERT INTO @t (STUID, SUB1, SUB2, SUB3)
VALUES(101, 'English', 'Science', 'Maths'),
(102, 'Maths', 'Arts', 'Economics'),
(103, 'Arts', 'English', 'Social science');
insert into @n
select stuid from @t
--select * from @n
select n.stuid 'Student', t1.sub1 'Subject'
from @n n join @t t1 on t1.stuid = n.stuid
union
select n.stuid, t2.sub2
from @n n join @t t2 on t2.stuid = n.stuid
union
select n.stuid, t3.sub3
from @n n join @t t3 on t3.stuid = n.stuid