sql >> Databáze >  >> RDS >> Sqlserver

řetězcový ekvivalent Sum ke zřetězení

SELECT
     p.ID PersonID,
     STUFF(
         (SELECT ';' + b.description
          FROM  personrole a 
                INNER JOIN role b
                  ON a.roleid = b.id
          WHERE a.personid = p.id
          FOR XML PATH (''))
          , 1, 1, '')  AS DescriptionList
FROM person AS p
GROUP BY p.ID

VÝSTUP

╔══════════╦════════════════════════════╗
║ PERSONID ║      DESCRIPTIONLIST       ║
╠══════════╬════════════════════════════╣
║        1 ║ user                       ║
║        2 ║ user;admininstrator;tester ║
╚══════════╩════════════════════════════╝


  1. SQL Server 2008 CTE rekurze

  2. Zjistěte, jak mohutnost ovlivňuje výkon

  3. Jak omezit hlasy za den podle IP v hlasování Php+Mysql?

  4. COUNT() vs COUNT_BIG() na SQL Server:Jaký je rozdíl?