Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Dynamic query in select  [new]
user3111
Guest
В запросе одна из строк представляет собой перечисление через ",". Для каждой строки запроса хотел получить не одну запись с перечислениями а несколько уже разбитых. Как это лучше сделать? Разбивал sp вот такого плана SET @sql = 'SELECT ''' + REPLACE(@list, @delimiter, ''' UNION ALL SELECT ''') + ''''
8 авг 14, 16:15    [16418514]     Ответить | Цитировать Сообщить модератору
 Re: Dynamic query in select  [new]
user3111
Guest
user3111,
Поясню
ID VAL
1 1,2,3
->
ID VAL
1 1
1 2
1 3
8 авг 14, 16:19    [16418557]     Ответить | Цитировать Сообщить модератору
 Re: Dynamic query in select  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
user3111
user3111,
Поясню
ID VAL
1 1,2,3
->
ID VAL
1 1
1 2
1 3


with t0 as (select 1 id, '1,2,3,4,5' vals union all select 2, '6,7,8'),
t1 as (select id, cast('<p>'+replace(vals, ',', '</p><p>')+'</p>' as xml) xvals from t0)
select id, xt.x.value('.', 'int') as id2
from t1 cross apply t1.xvals.nodes('/p') xt(x)


с утюга пишу' потому форматирование не ахти.
8 авг 14, 16:44    [16418739]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить