Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Valeurs de la colonne de chaîne fractionnée

L'erreur ci-dessus se produit depuis votre sous-requête dans le SELECT renvoie plus d'une ligne. Essayez d'exécuter ceci :

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

Vous verrez qu'il renverra 3 lignes, une pour chaque élément.

Pour résoudre ce problème, vous devez utiliser 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'