Retrieving a specific column as comma separated values

  • I have two tables,

    EmployeeDetails

    EmployeeIDNameDepartmentManager

    7James BondKicking buttM

    1MKicking buttUnknown

    10MoneyPennyHospitalityM

    6QR&DM

    And EmployeeEmailAddresses

    EmployeeIDEmailAddress

    7james_bond@mi6.com

    7jbond@mi6.com

    7jamesb@britishspy.com

    Now I want to run a single query that’ll give me,

    EmployeeIDNameDepartmentManagerEmailAddresses

    7James BondKicking buttMjames_bond@mi6.com, jbond@mi6.com, jamesb@britishspy.com

    1MKicking buttUnknown

    10MoneyPennyHospitalityM

    6QR&DM

    Any ideas on how to get it?

  • SELECT d.EmployeeID,d.Name,d.Department,d.Manager,

    STUFF(((SELECT ', '+e.EmailAddress AS "text()"

    FROM EmployeeEmailAddresses e

    WHERE e.EmployeeID=d.EmployeeID

    ORDER BY e.EmailAddress

    FOR XML PATH(''),TYPE).value('./text()[1]','VARCHAR(1000)')),1,2,'') AS EmailAddresses

    FROM EmployeeDetails d

    ORDER BY d.Name;

    ____________________________________________________

    Deja View - The strange feeling that somewhere, sometime you've optimised this query before

    How to get the best help on a forum

    http://www.sqlservercentral.com/articles/Best+Practices/61537
  • Thanks Mark-101232!

    Works like a charm!

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply