Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 sql2k как сделать выборку в строку?  [new]
spenov
Member

Откуда: Москва
Сообщений: 168
если таблица такая:
fld1 fld2
1 1
1 2
2 3
2 4

нужен такой результат:
1 1,2
2 3,4

можно решить так:
select distinct fld1, cast(null as varchar(100)) fld2
  into #res
  from tbl
declare @fld1 int, @fld2 varchar(100)
declare d cursor local static for
  select fld1 from #res
open d
fetch next from d into @fld1
while @@fetch_status=0 begin
   set @fld2=null
   select @fld2=isnull(@fld2+',','')+cast(fld2 as varchar)
      from tbl
      where fld1=@fld1
   update #res
      set fld2=@fld
      where fld1=@fld1
   fetch next from d into @fld1
end
select * from #res


а есть ли более правильное решение этой задачи для sql2k?
чтобы без курсоров, покороче, побыстрее
2 дек 11, 20:23    [11698979]     Ответить | Цитировать Сообщить модератору
 Re: sql2k как сделать выборку в строку?  [new]
step_ks
Member

Откуда:
Сообщений: 936
Сложение символьных полей в запросе
2 дек 11, 22:25    [11699617]     Ответить | Цитировать Сообщить модератору
 Re: sql2k как сделать выборку в строку?  [new]
spenov
Member

Откуда: Москва
Сообщений: 168
step_ks
Сложение символьных полей в запросе


спасибо.
значит ничего нового не придумали :)
решение с использованием таблицы, общей для всех, мне не нравится.
4 дек 11, 11:51    [11702428]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить