If the following will create and populate your table
create table table1
(
name varchar(255),
[1] char,
[2] char,
[3] char,
[4] char,
[5] char
)
insert into table1 values
('sekar','p',null, null, null, null),
('ramu', 'p',null, null, null, null),
('sekar',null, 'p', null, null, null),
('ramu',null, 'p', null, null, null),
('sekar',null, null, 'a', null, null),
('ramu',null, null, 'p', null, null),
('sekar',null,null, null, 'p', null),
('ramu',null, null, null,'a', null)
then this query will produce the results you want
select name, max(isnull([1],'')) as [1],max(isnull([2],'')) as [2],
max(isnull([3],'')) as [3], max([4]) as [4], max(isnull([5],'')) as [5]
from table1
group by name
order by name desc
However, if your first table is the result of something like this
create table tabl1
(
name varchar(255),
num int,
achar char(1)
)
insert into tabl1 values
('sekar',1,'p'),
('ramu',1,'p'),
('sekar',2,'p'),
('ramu',2,'p'),
('sekar',3,'a'),
('ramu',3,'p'),
('sekar',4,'p'),
('ramu',4,'a')
then this is what you need
SELECT name, isnull([1],'') as [1],isnull([2],'') as [2],
isnull([3],'') as [3],isnull([4],'') as [4],isnull([5],'') as [5]
FROM (
SELECT
name, num, achar
FROM tabl1
where achar in ('a','p')
) as s
PIVOT
(
max(achar)
FOR num IN ([1],[2],[3],[4],[5])
)AS p
order by name desc