私はテーブルを持っています
CREATE TABLE [StudentsByKindergarten]
(
[FK_KindergartenId] [int] IDENTITY(1,1) NOT NULL,
[StudentList] [nvarchar]
)
エントリがある場所
(1, "John, Alex, Sarah")
(2, "")
(3, "Jonny")
(4, "John, Alex")
この情報を次の表に移行したいと考えています。
CREATE TABLE [KindergartenStudents]
(
[FK_KindergartenId] [int] NOT NULL,
[StudentName] [nvarchar] NOT NULL)
)
それが持つように
(1, "John")
(1, "Alex")
(1, "Sarah")
(3, "Jonny")
(4, "John")
(4, "Alex")
ここでの答えのようなものを使用して分割機能を実現できると思います: How do I split a string so I can access item x?
ここで関数を使用する:
http://www.codeproject.com/Articles/7938/SQL-User-Defined-Function-to-Parse-a-Delimited-Str
私はこのようなことをすることができます、
INSERT INTO [KindergartenStudents] ([FK_KindergartenId], [Studentname])
SELECT
sbk.FK_KindergartenId,
parsed.txt_value
FROM
[StudentsByKindergarten] sbk, dbo.fn_ParseText2Table(sbk.StudentList,',') parsed
GO
しかし、うまくいかないようです。