2009-12-02 4 views
0

Как вы можете развязать разделительный столбец с разделителями в отдельные строки? Я не мог найти хороший простой пример в stackoverflow. Нужно ли использовать функцию PIVOT?Как вы можете развязать поле столбца строки с разделителями для разделения строк в SQL?

Мой пример:

Table - Toys 
ID - A01 
SendNumber - '200, 203, 205’ 
Owner - Josh 

Desired end Table 
ID  SendNumber  Owner 
A01   200    Josh 
A01   203    Josh 
A01   205    Josh 

Благодаря

ответ

1

Вы можете получить лучший ответ, если заменить общий термин «SQL» с конкретным продуктом, который вы используете.

Нет стандартного способа сделать это в SQL per se, вам придется перебирать по таблице, анализировать каждое поле и выдавать инструкции INSERT для каждого найденного значения. Конкретные SQL-сущностные СУБД могут иметь собственные методы, чтобы делать то, что вы хотите.

+1

спасибо - я изменил его на sql-сервер – EverTheLearner

0

Если бы это был я, я бы создал новую структуру таблицы, а затем написал хранимую процедуру, которая использует функции курсора и подстроки, чтобы прокручивать каждую строку старой таблицы и вставлять новые строки в новую таблицу. Когда это будет завершено, вы убедитесь, что все коды/процедуры указывают на новую таблицу, а затем могут удалить старую таблицу.

+1

yikes! Старайтесь избегать курсора всякий раз, когда можете (и большую часть времени, вы можете - легко). См. Ответ Джима для гораздо лучшего подхода ... –

1

this Что вы имеете в виду?

+0

Функция CLR будет быстрее –

+0

Ссылка привела меня на совершенно не связанный веб-сайт, написанный на каком-то азиатском языке. – MarredCheese

Смежные вопросы