Dans de nombreux scénarios d'analyse de données, plusieurs lignes de chaîne de plusieurs rangées de groupes dans les symboles de logo public doivent être connectés. Cela vous permet de résumer et d'exploiter efficacement les données pour les rapports.
Pour atteindre cet objectif dans SQL Server, vous pouvez utiliser un groupe puissant par des clauses et une utilisation intelligente pour les fonctions XML et PATH. Cette méthode fournit une solution efficace et directe qui n'a pas besoin d'utiliser une fonction étiquette, cycle ou défini par l'utilisateur.
Considérez l'exemple suivant Données:
Votre objectif est de convertir ces données en sortie suivante:
<code>id Name Value 1 A 4 1 B 8 2 C 9</code>
Pour terminer cette tâche, vous pouvez utiliser la requête SQL suivante:
<code>id Column 1 A:4, B:8 2 C:9</code>
décomposons la requête:
<code class="language-sql">CREATE TABLE #YourTable ([ID] INT, [Name] CHAR(1), [Value] INT) INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (1,'A',4) INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (1,'B',8) INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (2,'C',9) SELECT [ID], STRING_AGG([Name] + ':' + CAST([Value] AS VARCHAR(MAX)), ', ') AS NameValues FROM #YourTable GROUP BY ID DROP TABLE #YourTable</code>
La fonction connecte la chaîne dans chaque groupe dans une liste de séparation de virgules. Cela fournit une solution plus concise et facile à lire que l'ancienne méthode.
STRING_AGG
Cette requête SQL a effectivement emballé les données en fonction de la colonne ID et connecte la colonne Nom et Valeur de chaque ligne de chaque groupe pour obtenir la sortie requise. Utilisez pour simplifier le code pour le rendre plus facile à comprendre et à maintenir. Pour SQL Server 2017 et des versions supérieures, cette méthode est fortement recommandée. 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!