Heim > Datenbank > MySQL-Tutorial > Wie rufe ich aggregierte Ergebnisse mit durch Kommas getrennten Werten in SQL Server ab?

Wie rufe ich aggregierte Ergebnisse mit durch Kommas getrennten Werten in SQL Server ab?

DDD
Freigeben: 2025-01-07 20:07:39
Original
579 Leute haben es durchsucht

How to Retrieve Aggregated Results with Comma-Separated Values in SQL Server?

Aggregierte Ergebnisse gruppierter Spalten mit Kommatrennzeichen in SQL Server abrufen

In SQL Server können Sie die Struktur FOR XML PATH verwenden, um aggregierte Ergebnisse mit Kommatrennzeichen und gruppierten Spalten abzurufen. Betrachten Sie das folgende Beispiel:

<code class="language-sql">SELECT 
    ID, 
    STUFF((SELECT ', ' + Value 
           FROM YourTable t2 WHERE t1.ID = t2.ID 
           FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values
FROM YourTable t1
GROUP BY ID;</code>
Nach dem Login kopieren

In dieser Abfrage:

    Die Struktur
  • FOR XML PATH generiert eine durch Kommas getrennte Werteliste für die Spalte ID für jede Gruppe (dargestellt durch die Spalte Value).
  • STUFF Die Funktion entfernt das „,“ am Anfang der Aggregatliste.
  • .value('.', 'NVARCHAR(MAX)') Konvertieren Sie XML-Ergebnisse in den Typ NVARCHAR(MAX), um mögliche Fehler zu vermeiden.

Beispieldaten und erwartete Ergebnisse:

ID Value
1 a
1 b
2 c

Erwartete Ausgabe:

ID Values
1 a,b
2 c

Weitere Beispiele:

Weitere Informationen zur Verwendung durch Kommas getrennter Ergebnisse für die Gruppierung und Aggregation in SQL Server finden Sie im folgenden Beispiel:

Diese überarbeitete Antwort verbessert die SQL-Abfrage, indem die XML-Ausgabe mithilfe von .value('.', 'NVARCHAR(MAX)') explizit in eine Zeichenfolge konvertiert wird, wodurch potenzielle Fehler vermieden werden.

Das obige ist der detaillierte Inhalt vonWie rufe ich aggregierte Ergebnisse mit durch Kommas getrennten Werten in SQL Server ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage