Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come scrivere una query SQL per presentare i valori orizzontalmente

Marco ha ragione. Non farlo in SQL, fallo a livello di presentazione. Tuttavia, se vuoi farlo, dai un'occhiata qui:Come restituire 1 dati di riga singola da 2 tabelle diverse con contenuti dinamici in sql

Applicato alla tua situazione, il codice potrebbe essere:

     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;