375 Stimmen

Simulation der MySQL-Funktion group_concat in Microsoft SQL Server 2005?

Ich versuche gerade, eine MySQL-basierte Anwendung auf Microsoft SQL Server 2005 zu migrieren (nicht freiwillig, aber so ist das Leben).

In der ursprünglichen Anwendung haben wir fast vollständig ANSI-SQL-konforme Anweisungen, mit einer wichtigen Ausnahme: Wir haben die MySQL group_concat Funktion relativ häufig.

group_concat macht übrigens Folgendes: Bei einer Tabelle mit, sagen wir, Mitarbeiternamen und Projekten...

SELECT empName, projID FROM project_members;

zurück:

ANDY   |  A100
ANDY   |  B391
ANDY   |  X010
TOM    |  A100
TOM    |  A510

... und so sieht das Ergebnis mit group_concat aus:

SELECT 
    empName, group_concat(projID SEPARATOR ' / ') 
FROM 
    project_members 
GROUP BY 
    empName;

zurück:

ANDY   |  A100 / B391 / X010
TOM    |  A100 / A510

Was ich also gerne wissen möchte, ist: Ist es möglich, eine benutzerdefinierte Funktion in SQL Server zu schreiben, die die Funktionalität der folgenden Funktionen emuliert group_concat ?

Ich habe so gut wie keine Erfahrung mit UDFs, gespeicherten Prozeduren oder ähnlichem, nur mit einfachem SQL, also bitte nicht zu viel erklären :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X