Dear Peso,Thank you. I finally figure out the solution. Here are the solution by using cursor./*--Create & Dump datacreate table tabCustomers(Customer varchar(100),Branch varchar(100))insert into tabCustomers (Customer,Branch) values ('AAA','Delhi')insert into tabCustomers (Customer,Branch) values ('AAA','Delhi1')insert into tabCustomers (Customer,Branch) values ('AAA','Delhi2')insert into tabCustomers (Customer,Branch) values ('ABB','Delhi')insert into tabCustomers (Customer,Branch) values ('ABB','Delhi4')insert into tabCustomers (Customer,Branch) values ('ABB','Delhi5')insert into tabCustomers (Customer,Branch) values ('AAC','Delhi9')insert into tabCustomers (Customer,Branch) values ('AAD','Delhi10')insert into tabCustomers (Customer,Branch) values ('AAD','Delhi11')insert into tabCustomers (Customer,Branch) values ('ACB','Delhi6')insert into tabCustomers (Customer,Branch) values ('ACB','Delhi7')insert into tabCustomers (Customer,Branch) values ('ACB','Delhi8')--*/DECLARE @customer varchar(20)DECLARE merge_cursor CURSOR FAST_FORWARD FOR SELECT distinct customer FROM tabCustomersDECLARE @r VARCHAR(8000) OPEN merge_cursor declare @temp table(Customer varchar(100),Branch varchar(200))FETCH NEXT FROM merge_cursor INTO @customer WHILE @@FETCH_STATUS = 0BEGINset @r=''SELECT @customer=customer,@r = ISNULL(@r+',', '') + branch FROM tabCustomers WHERE customer = @customer insert into @tempSELECT @customer,@r FETCH NEXT FROM merge_cursor INTO @customerENDselect customer,branch=right(branch,(len(branch)-1)) from @tempCLOSE merge_cursor DEALLOCATE merge_cursor