Follow this example-

return results like this:

Here is SQL Query:
First, Create table called ashish..
CREATE TABLE [dbo].[ashish](
[custID] [int] NULL,
[Question] [varchar](50) NULL,
[answer] [varchar](20) NULL
) ON [PRIMARY]
Then, insert some values..
INSERT INTO ashish values(1000, 'AAA', '1')
INSERT INTO ashish values(1000, 'BBB B', '2')
INSERT INTO ashish values(1000, 'CCC', '3')
INSERT INTO ashish values(1001, 'AAA', '2')
INSERT INTO ashish values(1001, 'BBB B', '3')
INSERT INTO ashish values(1001, 'CCC', '3')
INSERT INTO ashish values(1000, 'DDD', '6')
here is pivot query to convert rows to columns..
Declare @t VARCHAR(10)
Declare @A VARCHAR(1000)
Declare @B VARCHAR(1000)
set @A='SELECT CustID'
SET @B='('
SELECT @A=@A+',['+Question+'] as [' +Question+']',@B=@B+'['+Question+'],' FROM (SELECT DISTINCT QUESTION FROM ashish) cur
-- removing last ',' from both variables
SET @B=SUBSTRING(@B,1,LEN(@B)-1)
SET @A=@A+ + ' FROM (SELECT CustID, Answer, Question FROM ashish) s PIVOT (max(answer) FOR Question IN ' +@B+')) p ORDER BY [CUSTID]; '
exec(@A);