Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment écrire une requête SQL pour présenter les valeurs horizontalement

Marc a raison. Ne le faites pas en SQL, faites-le au niveau de la présentation. Néanmoins, si vous voulez le faire, jetez un œil ici :Comment renvoyer 1 seule ligne de données à partir de 2 tables différentes avec contenu dynamique en sql

Appliqué à votre situation, le code pourrait être :

     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;