Ich versuche, das folgende Problem zu lösen, ich habe einen vorhandenen Datensatz, der bereits gruppiert ist, aber ich muss ihn basierend auf der gemeinsamen "SO_Number" im Datensatz weiter gruppieren, Beispiel unten:
Aktuelle Daten:
Group_Key | SO_Nummer |
---|---|
233738 | SO21268046 |
233738 | SO21269767 |
234129 | SO21269767 |
234129 | SO21274404 |
234129 | SO21271542 |
234129 | SO21274421 |
234421 | SO21274421 |
234421 | SO21276633 |
234421 | SO21276877 |
88964 | SO21276877 |
88964 | SO21278203 |
88964 | SO21278329 |
234727 | SO21278329 |
234727 | SO21279199 |
234727 | SO21279542 |
91016 | SO21279542 |
91016 | SO21289940 |
Lösung des Problems
Wenn Sie "Clustering" sagen, meinen Sie das?
declare @t TABLE (
category int NOT NULL
,segment NVARCHAR(50) NOT NULL
,payment int NOT NULL
);
INSERT INTO @t(category,segment,payment) VALUES (01,'A',1425);
INSERT INTO @t(category,segment,payment) VALUES (01,'B',7647);
INSERT INTO @t(category,segment,payment) VALUES (01,'A',6164);
INSERT INTO @t(category,segment,payment) VALUES (01,'B',3241);
--if you want payment column as string then use following
SELECT
category,
segment,
STRING_AGG(cast(payment as nvarchar(50)),'+') payment
FROM
@t T
GROUP BY
category,segment
Ergebnis:
Keine Kommentare:
Kommentar veröffentlichen