This?declare @Customers Table (CustomerID int, CustomerName varchar(50))insert @Customers select 1, 'ABC'union all select 2, 'CBA'declare @CustomerTypes table (CustomerTypeID int, CustomerTypeName varchar(50))insert @CustomerTypes select 1, 'Broadcast'union all select 2, 'Banking'union all select 3, 'Retailer'declare @CustomerCustomerTypes table (CustomerID int, CustomerTypeID int)insert @CustomerCustomerTypes select 1, 1union all select 2, 2union all select 2, 3; with t1 as ( select a.*, b.CustomerName, c.CustomerTypeName from @CustomerCustomerTypes a inner join @Customers b on a.CustomerID = b.CustomerID inner join @CustomerTypes c on a.CustomerTypeID = c.CustomerTypeID)select CustomerId, CustomerName, stuff((select ', ' + CustomerTypeName from t1 where CustomerId = a.CustomerId for xml path('')),1,2,'') as CustomerCustomerTypesfrom t1 a--where CustomerTypeId = 2 --uncomment this to filtergroup by CustomerId, CustomerNameRyan Randall - Yak of all tradesSolutions are easy. Understanding the problem, now, that's the hard part.