This is one of the option to do this if you are using SQL 2005:
Create Table your_table_name (ID INT, Value varchar(20), value2 varchar(20))
INSERT INTO your_table_name VALUES(111,'MCA','Suresh')
INSERT INTO your_table_name VALUES(111,'MBBS','Ramesh')
INSERT INTO your_table_name VALUES(222,'MSC','Binal')
INSERT INTO your_table_name VALUES(333,'BBC','Siva')
INSERT INTO your_table_name VALUES(333,'MCA','Vali')
SELECT * from your_table_name
SELECT ID,
SUBSTRING((select ' ,'+ CAST(value AS VARCHAR) from your_table_name b WHERE a.ID = b.ID FOR XML PATH('')),3,100) [Name1],
SUBSTRING((select ' ,'+ CAST(value2 AS VARCHAR) from your_table_name b WHERE a.ID = b.ID FOR XML PATH('')),3,100) [Name2]
FROM your_table_name a
GROUP BY a.ID
not sure how efficient it is..