Dividing a column into three columns
I think you can use CASE expression. Something like that:

SELECT Name,
  CASE Code WHEN 'Homeaddress' THEN Address ELSE NULL END AS Homeaddress,
  CASE Code WHEN 'Email' THEN Address ELSE NULL END AS Email,
  CASE Code WHEN 'homeemail' THEN Address ELSE NULL END AS homeemail
FROM yourtable