DECLARE @Test TABLE (Name varchar(20), fruit varchar(40))
INSERT INTO @Test VALUES ('Tom','Apple')
INSERT INTO @Test VALUES ('Tom','Apple')
INSERT INTO @Test VALUES ('Dick','Orange')
INSERT INTO @Test VALUES ('Dick','Apple')
INSERT INTO @Test VALUES ('Harry','Orange')
INSERT INTO @Test VALUES ('Harry','Pear')
SELECT Name, Apple, Orange, Pear
FROM (SELECT Name, Fruit
FROM @Test) Test
PIVOT ( COUNT(FRUIT)
FOR FRUIT IN ([Apple], [Orange], [Pear])) AS PivotTbl