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

Jak mohu zřetězit a vytvořit skupinu textu na serveru SQL?

Tady, zkuste tohle,

SELECT  a.dept_id, 
        NewTable.NameValues
FROM    (
          SELECT DISTINCT dept_ID
          FROM tableA
        ) a 
        LEFT JOIN
        (
          SELECT  dept_id,
                STUFF((
                  SELECT  ', ' + [Name] 
                  FROM    tableA
                  WHERE   ( dept_id = Results.dept_id )
                  FOR XML PATH('')), 1, 1, '') AS NameValues
          FROM    tableA Results
          GROUP BY dept_id
        ) NewTable
        on a.dept_id = NewTable.dept_id
GO

Ukázka SQLFiddle

TADY je další verze

SELECT  a.dept_id, 
        SUBSTRING(d.nameList,1, LEN(d.nameList) - 1) ConcatenateNames
FROM 
        (
            SELECT DISTINCT dept_id
            FROM   tableA
        ) a
        CROSS APPLY
        (
            SELECT name + ', ' 
            FROM tableA AS B 
            WHERE A.dept_id = B.dept_id 
            FOR XML PATH('')
        ) D (nameList)
GO

Ukázka SQLFiddle



  1. vícenásobná aktualizace pomocí ajaxu s php

  2. Chyba při místním spuštění python manage.py syncdb, ale žádná chyba při spuštění stejného příkazu přes Heroku

  3. Rekurzivní dotaz SELECT pro návratovou rychlost libovolné hloubky?

  4. Dotaz UPDATE nefunguje s LIMIT