Here is an example of working with XML AUTO
With Managers AS ( Select 1 as ManagerId, 'Tom' as ManagerName UNION Select 2 as ManagerId, 'Jane' as ManagerName ), Clients as ( Select 1 as ClientId, 1 as ManagerId, 'TaXon Pro' as ClientName, '112 Acme St Cityville DD 56' as ClientAddress, 'ABC' as Details UNION Select 2 as ClientId, 1 as ManagerId, 'Pro Xon' as ClientName, '12342 Bylo Rd Streetville DD 156' as ClientAddress, 'CDR' as Details UNION Select 3 as ClientId, 1 as ManagerId, 'Clean Svc' as ClientName, '6512 Toni St Townville DD 1236' as ClientAddress, ' D@ #$' as Details UNION Select 4 as ClientId, 2 as ManagerId, 'ContraRel' as ClientName, '152 Acme St Villageville DD 3456' as ClientAddress, 'SER' as Details UNION Select 5 as ClientId, 2 as ManagerId, 'RepoIn' as ClientName, '1 Acme St Districtville DD 1456' as ClientAddress, 'KH' as Details ) SELECT M.ManagerName, ( SELECT c.ClientName + ', ' + C.ClientAddress + ', ' + c.Details + ';' FROM Clients C WHERE m.ManagerId = c.ManagerId FOR XML PATH('') ) AS Clients FROM Managers M GROUP BY m.ManagerId, M.ManagerName
The result will look like this:
ManagerName Clients ----------- ------------------------------------------------------------------------------------------------------------------------------------------- Tom TaXon Pro, 112 Acme St Cityville DD 56, ABC;Pro Xon, 12342 Bylo Rd Streetville DD 156, CDR;Clean Svc, 6512 Toni St Townville DD 1236, D@
source share