Élimination des doublons dans les résultats STRING_AGG
La tâche consiste à récupérer des valeurs uniques à l'aide de la fonction STRING_AGG dans SQL Server, en garantissant que les éléments en double sont supprimés .
Dans l'exemple de requête fourni, la fonction STRING_AGG est utilisée pour concaténer des chaînes en une seule. champ séparé par des virgules, regroupé par ProjectID. Cependant, le NewField résultant contient des valeurs en double.
Pour obtenir un NewField unique, nous pouvons utiliser le mot-clé DISTINCT dans une sous-requête. La requête mise à jour est :
SELECT ProjectID , STRING_AGG(value, ',') WITHIN GROUP (ORDER BY value) AS NewField FROM ( SELECT DISTINCT ProjectID , newId.value FROM [dbo].[Data] WITH (NOLOCK) CROSS APPLY STRING_SPLIT([bID],';') AS newId WHERE newId.value IN ( 'O95833' , 'Q96NY7-2' ) ) x GROUP BY ProjectID ORDER BY ProjectID
La sous-requête sélectionne d'abord les valeurs distinctes de ProjectID et newId.value dans la table d'origine. Ces valeurs distinctes sont ensuite utilisées dans la requête externe pour effectuer l'opération STRING_AGG, garantissant ainsi qu'aucun doublon n'est présent dans le résultat final de NewField.
L'exécution de cette requête modifiée produit le résultat souhaité avec uniquement des valeurs uniques :
ProjectID | NewField ----------+---------- 2 | O95833, Q96NY7-2 4 | Q96NY7-2
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!