Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como escrever uma consulta SQL para apresentar valores horizontalmente


Marc está certo. Não faça isso no SQL, faça no nível da apresentação. Ainda assim, se você quiser fazer isso, dê uma olhada aqui:Como retornar dados de 1 única linha de 2 tabelas diferentes com conteúdo dinâmico em sql

Aplicado à sua situação, o código pode 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;