Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Разделете стойностите на колоната на низа

Горната грешка възниква, тъй като вашата подзаявка в SELECT връща повече от един ред. Опитайте да изпълните това:

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

Ще видите, че ще върне 3 реда, по един за всеки елемент.

За да коригирате това, трябва да използвате 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерете САМО главни букви в дума чрез IN SQL Server заявка

  2. Как да архивирате база данни на SQL сървър с помощта на T-SQL

  3. SCOPE_IDENTITY() за GUID?

  4. Разпределена транзакция на свързан сървър между sql сървър и mysql

  5. Разлика между sys.sql_modules, sys.system_sql_modules и sys.all_sql_modules в SQL Server