Try Below Query
SELECT RegisterNo,'English' AS Subject ,
CASE WHEN SUBSTRING(Result+ SPACE(5),1,1) = 'P' THEN 'Pass'
WHEN ISNUMERIC(SUBSTRING(Result+ SPACE(5),1,1)) = 1 THEN 'Fail'
ELSE 'Invalid' END AS Result
FROM table1
UNION ALL
SELECT RegisterNo,'Sanskrit' AS Subject ,
CASE WHEN SUBSTRING(Result+ SPACE(5),3,1) = 'P' THEN 'Pass'
WHEN ISNUMERIC(SUBSTRING(Result+ SPACE(5),3,1)) = 1 THEN 'Fail'
ELSE 'Invalid' END AS Result
FROM table1
UNION ALL
SELECT RegisterNo,'Maths' AS Subject ,
CASE WHEN SUBSTRING(Result+ SPACE(5),5,1) = 'P' THEN 'Pass'
WHEN ISNUMERIC(SUBSTRING(Result+ SPACE(5),5,1)) = 1 THEN 'Fail'
ELSE 'Invalid' END AS Result
FROM table1
UNION ALL
SELECT RegisterNo,'Science' AS Subject ,
CASE WHEN SUBSTRING(Result+ SPACE(5),7,1) = 'P' THEN 'Pass'
WHEN ISNUMERIC(SUBSTRING(Result+ SPACE(5),7,1)) = 1 THEN 'Fail'
ELSE 'Invalid' END AS Result
FROM table1
UNION ALL
SELECT RegisterNo,'Social' AS Subject ,
CASE WHEN SUBSTRING(Result+ SPACE(5),9,1) = 'P' THEN 'Pass'
WHEN ISNUMERIC(SUBSTRING(Result+ SPACE(5),9,1)) = 1 THEN 'Fail'
ELSE 'Invalid' END AS Result
FROM table1
ORDER BY RegisterNo