Марк е прав. Не правете това в SQL, правете го на ниво презентация. Все пак, ако искате да направите това, погледнете тук:Как да върна 1 единичен ред данни от 2 различни таблици с динамично съдържание в sql
Приложен към вашата ситуация, кодът може да бъде:
select SpecialistName , LEFT(JobsIds, len(JobsIds)-1) as JobsIds from
(SELECT j.SpecialistName ,
( SELECT cast(j1.JobsId as varchar(10)) + ','
FROM Jobs j1
WHERE j1.SpecialistName = j.SpecialistName
ORDER BY JobId
FOR XML PATH('') ) AS JobsIds
FROM Jobs j
GROUP BY SpecialistName )A;