سلام،
روش دیگه برای این کار استفاده از FOR XML PATH هست، به ساختار Query زیر توجه کنید:
With Result AS (
SELECT IdContractingCompanyProfile,ContactNumber,CompanyN ame
FROM dbo.TbContractingCompanyContactNumbers INNER JOIN
dbo.TbTypesContactNumbers ON
dbo.TbContractingCompanyContactNumbers.Id_TypesCon tactNumbers = dbo.TbTypesContactNumbers.IdTypesContactNumbers INNER JOIN
dbo.TbContractingCompanyProfile ON
dbo.TbContractingCompanyContactNumbers.Id_Contract ingCompanyProfile = dbo.TbContractingCompanyProfile.IdContractingCompa nyProfile
)
SELECT IdContractingCompanyProfile,CompanyName,STUFF
((SELECT ', ' + CONVERT(nvarchar,Temp.ContactNumber)
FROM Result Temp
WHERE Result.IdContractingCompanyProfile=Temp.IdContract ingCompanyProfile FOR XML PATH('')), 1, 2, '') AS ContactNumber
FROM Result
Group By IdContractingCompanyProfile,CompanyName
ORDER BY IdContractingCompanyProfi
سه جدول داریم با نام های dbo.TbContractingCompanyContactNumbers و dbo.TbTypesContactNumbers و dbo.TbContractingCompanyProfile که به ازای هر شرکت چندین نوع شماره تماس داریم(ارتباط چند به چند). جستجو کنید متوجه می شید.