sql >> Databasteknik >  >> RDS >> Sqlserver

Dela strängkolumnvärden

Ovanstående fel inträffar eftersom din underfråga i SELECT returnerar mer än en rad. Försök att utföra detta:

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

Du kommer att se att den returnerar 3 rader, en för varje objekt.

För att fixa detta måste du använda CROSS APPLY :

SQL Fiddle

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


  1. MySQL JOIN returnerar NULL-fält

  2. Oracle:tabellen muterar

  3. Effektiv lagring av användaruppladdade bilder i filsystemet

  4. Använda aggregerade funktioner i SQL-fråga