sql >> Databasteknik >  >> RDS >> Sqlserver

Kommaseparerade resultat i SQL

Använd FOR XML PATH('') - som konverterar posterna till en kommaseparerad sträng och STUFF() -som är att trimma det första kommatecken- enligt följande Vilket ger dig samma kommaseparerade resultat

SELECT  STUFF((SELECT  ',' + INSTITUTIONNAME
            FROM EDUCATION EE
            WHERE  EE.STUDENTNUMBER=E.STUDENTNUMBER
            ORDER BY sortOrder
            FOR XML PATH(''), TYPE).value('text()[1]','nvarchar(max)')
           , 1, LEN(','), '') AS listStr

FROM EDUCATION E
GROUP BY E.STUDENTNUMBER

Här är FILEN



  1. ADO.NET anropar T-SQL lagrad procedur orsakar ett SqlTimeoutException

  2. Tillkännager repmgr 2.0RC2

  3. Välj COUNT(*) med DISTINCT

  4. Allmänt fel:OS-versionen matchar inte