sql >> Base de Datos >  >> RDS >> Sqlserver

subconsulta del servidor sql con un conjunto de resultados separados por comas

Aquí hay un truco que he usado en el pasado para hacer cosas similares. Use SUBCADENA función.

    SELECT n.nominationID
        , SUBSTRING((
                            SELECT ',' + naf.awardFocusName
                            FROM NominationAwardFocus naf
                            JOIN AwardFocus af
                                ON naf.awardFocusID = af.awardFocusID
                            WHERE n.nominationID = naf.nominationID
                            FOR XML PATH('')

                        ), 2, 1000000)
    FROM Nomination n

Tenga en cuenta que el 2 se usa para cortar la coma inicial que la subselección agrega al primer elemento, y 1000000 se elige como un número grande para significar "todo el resto de la cadena".