Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server :combiner plusieurs lignes en une seule ligne

Il existe plusieurs méthodes.

Si vous souhaitez uniquement renvoyer la valeur de la chaîne consolidée, il s'agit d'une bonne approche rapide et facile

DECLARE @combinedString VARCHAR(MAX)
SELECT @combinedString = COALESCE(@combinedString + ', ', '') + stringvalue
FROM jira.customfieldValue
WHERE customfield = 12534
    AND ISSUE = 19602

SELECT @combinedString as StringValue 

Qui renverra votre chaîne combinée.

Vous pouvez également essayer l'une des méthodes XML, par ex.

SELECT DISTINCT Issue, Customfield, StringValues
FROM Jira.customfieldvalue v1
CROSS APPLY ( SELECT StringValues + ',' 
              FROM jira.customfieldvalue v2
              WHERE v2.Customfield = v1.Customfield 
                  AND v2.Issue = v1.issue 
              ORDER BY ID 
                  FOR XML PATH('') )  D ( StringValues )
WHERE customfield = 12534
    AND ISSUE = 19602