split Komma getrennte Werte in verschiedene Zeilen

Ich habe eine Tabelle die wie folgt aussieht:

id  fk_det  userid
3   9   name1,name2
6   1   name3
9   2   name4,name5
12  3   name6,name7

Habe ich bereits gelernt, zu bedauern, dass die Werte der userid in durch Kommas getrennte Werte, so dass ich teilen möchten, auf die Zeilen und am Ende mit etwas, das aussieht wie

id  fk_det  userid
3   9   name1
x   9   name2
6   1   name3
9   2   name4
x   2   name5
12  3   name6
x   3   name7

hatte ich gesucht, so etwas wie dieses:

select fk_det, det, LEFT(userid, CHARINDEX(',',userid+',')-1),
    STUFF(userid, 1, CHARINDEX(',',userid+','), '')
from global_permissions

aber ich bin mir nicht sicher, wie es funktionieren wenn userid enthält mehr als 2 items (die es könnten, manche haben keine, manche haben mehrere, hängt nur davon)

InformationsquelleAutor Josh | 2011-10-24
Schreibe einen Kommentar