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-ID: 189965

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

Ausgedruckt am: 22.11.2024 um 12:11 Uhr

nxclass
nxclass 22.08.2012 um 10:14:55 Uhr
Goto Top
kami-kaTze
kami-kaTze 22.08.2012 um 11:12:35 Uhr
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.