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)
- Was den Geschmack von SQL? SQLServer? MySQL?
- sorry, MS SQL Server
- möglich, Duplikat der Wie kann ich erweitern, durch Komma getrennte Werte in separate Zeilen, die mit SQL Server 2005?
- Mögliche Lösung stackoverflow.com/questions/6418214/...
- Duplikat von stackoverflow.com/questions/314824/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
dies ist, was ich dazu neigen zu verwenden:
Verwenden Sie es wie folgt:
Den UDF erfordert eine 'Aufzeichnung' oder die Nummer der Tabelle, die meint das folgende schema:
Zahlen-Tabellen sind eine unschätzbare Ergänzung zu Ihrem toolset. Zitat Adam Machanic:
http://dataeducation.com/you-require-a-numbers-table/
Versuchen Sie dies 🙂
Als alternative zu den standard sproc rufen Sie überall zu sehen: