Formatting the output of SQL Server query
I have put your results into one table and then adapted your query. I've taken out the joins and used GROUP BY and PIVOT you will need to put the joins back in to make it work for you.

select name,
   [Projected Status]=max([Projected Status]),
   [Projected Sp Status]=max([Projected Sp Status]),
   [Day 1 Status]=max([Day 1 Status]),
   [Day 1 Sp Status]=max([Day 1 Sp Status]),
   [%Diff]=cast(max([Day 1 Status])as float) / cast(max([Projected Status]) as float)*100
from 
(
    select name,
           element,
           value,
           row_number() over(partition by [element] order by [element]) rn
    from tableX
) t
pivot
(
    sum(value)
    for [element] in ([Projected Status], [Projected Sp Status],[Day 1 Status],[Day 1 Sp Status])
) piv

group by name


SQL Fiddle Demo