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

Откуда:
Сообщений: 15
Добрый день,

Можете помочь с запросом
Есть таблица
create table versions
([version_id] smallint identity(1,1),
 [version_name] varchar(50))

insert into versions
(version_name)
select '1.0'
union
select '1.0 SP1'
union
select '1.0 SP1 HF1'
union
select '1.0 SP1 HF2'
union
select '1.0 SP1 HF3'
union
...
select '1.0 SP1 HF10'


Нужно вывести значение ввиде
"1.0 SP1 HF1, HF2, HF3"

Либо подскажите куда копать.

Cпасибо заранее.
20 июл 12, 18:07    [12894682]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
FOR XML PATH
20 июл 12, 18:27    [12894725]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Строго говоря, либо version_nam не атомарный => не соблюдается 1НФ => наша база формально не реляционная, либо ответом является select '1.0 SP1 HF1, HF2, HF3'
20 июл 12, 18:29    [12894728]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация  [new]
AlexMajic
Member

Откуда: Kiev
Сообщений: 99
Немного непонятны критерии, но можно, например вот так))
declare @v varchar(max)
declare @r varchar(max)
set @r=(select [version_name] from [versions] where [version_id]=2)
set @v=''
declare c cursor for (select [version_name] from [versions])
	open c
	fetch next from c into @v
	while @@fetch_status=0
		begin
			set @r=@r+substring(@v,8,4)
		fetch next from c into @v
		end
	print @r
	close c
	deallocate c
20 июл 12, 18:31    [12894737]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация  [new]
hoha_ftf
Member

Откуда: ЕКБ
Сообщений: 42
А что должно выводиться, если в таблицу еще вставить "1.0 SP2" и "2.0"?
20 июл 12, 22:39    [12895459]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация  [new]
Alchemist
Member

Откуда:
Сообщений: 15
hoha_ftf
я не полностью таблицу привел.
меня интересует только такой сценарий.

Александр52
спасибо. буду копать.

Зайцев Фёдор
так проще в данном сценарии. не надо придумывать всякий parent_id.
21 июл 12, 02:41    [12896066]     Ответить | Цитировать Сообщить модератору
 Re: Конкатенация  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Alchemist
так проще в данном сценарии. не надо придумывать всякий parent_id.
Оно и видно, что "проще". Потом еще окажется, что нереально "быстрее".
21 июл 12, 12:35    [12896426]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить