Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Split-String-Spaltenwerte

Der obige Fehler tritt seit Ihrer Unterabfrage im SELECT auf gibt mehr als eine Zeile zurück. Versuchen Sie Folgendes auszuführen:

SELECT * FROM SplitStrings('1,2,3',',') x

Sie werden sehen, dass 3 Zeilen zurückgegeben werden, eine für jedes Element.

Um dies zu beheben, müssen Sie CROSS APPLY verwenden :

SQL-Fiddle

SELECT 
    c.acctcode,
    x.primekey AS prime
INTO Chadtblsum
FROM Chadothercharges c
CROSS APPLY SplitStrings(c.groupby,',') x
WHERE groupby <> 'NULL'