Durch Kommas getrennte Datenspalten verbinden
Um zwei Tabellen mit durch Kommas getrennten Datenspalten zu verbinden, sollten Sie die folgenden Ansätze in Betracht ziehen:
Normalisierung
Normalisieren Sie die Tabelle mit dem durch Kommas getrennte Werte, indem Sie eine separate Tabelle mit einer Spalte für jeden Wert erstellen. Dies vereinfacht die Abfrage und vermeidet komplexe Zeichenfolgenmanipulationen.
Erstellen Sie eine Teilungsfunktion
Erstellen Sie eine Teilungsfunktion, die die durch Kommas getrennte Zeichenfolge in einzelne Zeilen umwandelt. Dadurch können Sie Verknüpfungen für die Zeilen durchführen.
Verwenden Sie FOR XML PATH und STUFF
Verwenden Sie FOR XML PATH, um die Werte in einer durch Kommas getrennten Zeichenfolge und STUFF zu verketten um das führende Komma zu entfernen.
Direkt FOR XML anwenden PATH
Wenden Sie FOR XML PATH direkt auf die Daten an, um die gewünschte Ausgabe zu generieren.
Beispiele
Split-Funktion mit Verkettung
;with cte as ( select c.col1, t1.col2 from t1 inner join ( select t2.col1, i.items col2 from t2 cross apply dbo.split(t2.col2, ',') i ) c on t1.col1 = c.col2 ) select distinct c.col1, STUFF( (SELECT distinct ', ' + c1.col2 FROM cte c1 where c.col1 = c1.col1 FOR XML PATH ('')), 1, 1, '') col2 from cte c
FÜR XML-PFAD und STUFF
select col1, ( select ', '+t1.col2 from t1 where ','+t2.col2+',' like '%,'+cast(t1.col1 as varchar(10))+',%' for xml path(''), type ).value('substring(text()[1], 3)', 'varchar(max)') as col2 from t2;
Das obige ist der detaillierte Inhalt vonWie verbinde ich Tabellen mit durch Kommas getrennten Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!