Marc tiene razón. No hagas esto en SQL, hazlo a nivel de presentación. Aún así, si quieres hacer esto, echa un vistazo aquí:How to return 1 single row data from 2 different tables with contenido dinámico en sql
Aplicado a su situación, el código podría ser:
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;