Порезать строку вида path на группы parent-child

On1yMe
Дата: 31.01.2013 16:11:02
Ку,

Есть в AD такая вещь у юзера - canonicalName. Строка представляет собой вид DomainName/OU1/OU2/.../OUn/UserName.
Юзеров много, по сему есть таблица где строка таблицы == canonicalName юзера.
Нужно порезать как-то эту конструкцию в таблицу вида [parentOU][childOU].

В сети есть примеры обратных действий, прямых примеров не нашел (может руки кривые). Прошу совета по подходу.
Glory
Дата: 31.01.2013 16:35:06
On1yMe
Прошу совета по подходу.

Распарсить строку с разделителем / - десятки вариантов
Для каждой получаемой записи добавить еще поле со значением от предыдущего элемента.
Exproment
Дата: 01.02.2013 10:50:43
Ну например как-то так:
select      Row_Number() OVER (order by TT.ID, GLFS.ID)
            ,ParentID = case when GLFS.ID != 1 
                                         then Row_Number() OVER (order by TT.ID) - 1
                                   else null end
            ,GLFS.Value
from     TestTable TT
            cross apply dbo.GetListValueFromString(TT.Stroke, ';') as GLFS

где GetListFromString - функция которая парсит строку через разделитель И выдает два поля: (ID, подстрока), где ID - порядковый номер подстроки в строке. Примеров такой функции море - ищите.