kami-katze
Goto Top

MSSQL 2003 - Wie bekommt man Zellen mit Trennzeichen in eine Zelle?

Hallo Community,

wir haben Daten in einer Datenbank welche wir auf eine Bestimmte Weise ausgeben müssen. In Spalte A haben wir eine Benutzer ID und in Spalte B haben wir Zugewiesene Berehtigungen als Text (Fragt nicht, lässt sich nicht ändern)

Nun wollen wir die Daten auch für ein anderes System nutzen und brauchen einen Abfrage die alle Einstellungen pro Benutzer mit einem Trennzeichen (Semikolon) getrennt in nur eine Zelle bringt.

Hier ein Beispiel:
ab15b5235761e577648def080f52b5a5

- Jede BenutzerID kann unterschiedlich viele Berechtigungen haben.

Grüße

Content-Key: 189965

Url: https://administrator.de/contentid/189965

Printed on: April 19, 2024 at 07:04 o'clock

Member: nxclass
nxclass Aug 22, 2012 at 08:14:55 (UTC)
Goto Top
Member: kami-kaTze
kami-kaTze Aug 22, 2012 at 09:12:35 (UTC)
Goto Top
Super Danke,

das hat mir sehr weiter geholfen face-smile

SELECT Spalte_A AS SA, SUBSTRING(d.Spalte_B, 0, LEN(d.Spalte_B)) AS SB
FROM Tabelle a
CROSS apply
(
SELECT REPLICATE('0', 4 - len(Spalte_B)) + Cast(Spalte_B as nvarchar(10)) + ';'
FROM Tabelle b
WHERE a.Spalte_A = b.Spalte_A FOR XML PATH('')
)
d([Spalte_B])
GROUP BY Spalte_A, d.[Spalte_B]

P.S. im anderen System müssen die Werte alle 4 Stellig sein, daraum der Replicate in Zeile 5.