Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/37: Рейтинг темы: голосов - 37, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 10
1

Сложение строковых переменных в столбце

26.04.2012, 14:16. Показов 7103. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день коллеги!
У меня есть примерно такая таблица

Пардон... заголовок не правильный. Не переменных, а строковых значений.

ID FIO Primechanie
1 Петров Примечание 1
1 Петров Примечание 2
2 Иванов Примечание 3 ..........

Мне необходимо полчуить после выполнения процедуры в итоге такой вариант:

ID FIO Primechanie
1 Петров Примечание 1, Примечание 2
2 Иванов Примечание 3 ......

Подскажите пожалуйста, есть ли вообще возможность это сделать при помощи оператора select и функций, или это можно сделать другим способом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2012, 14:16
Ответы с готовыми решениями:

Сложение строковых констант
как сложить 2 const строки в Builder c++ 2010 - т.е. "a"+"b" в Builder 6 раньше складывал а щас...

OR для строковых переменных.
Столкнулся с такой проблемой. Нужно сравнить несколько вариантов переменных и в том случае, когда...

Ввод строковых переменных
Не могу понять - почему в данном коде вводится только одна строковая переменная, затем сразу...

Неверная кодировка в строковых переменных
Всем привет! Пишу сам модуль для вывода небольшого изображения из текстового файла где каждая...

7
1644 / 1145 / 171
Регистрация: 23.07.2010
Сообщений: 6,796
26.04.2012, 15:21 2
Вообще, есть ли в SQL Server аналог LISTAGG от Oracle?

Добавлено через 35 минут
http://www.sql.ru/faq/faq_topic.aspx?fid=731

Добавлено через 2 минуты
http://skahin.blogspot.com/200... -path.html
2
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,269
26.04.2012, 15:24 3
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT T.ID, T.FIO,
 STUFF
 (
  (
   SELECT ', '+TT.Primechanie
   FROM [таблица] TT
   WHERE TT.ID=T.ID
   FOR XML PATH(''),
   TYPE
  ).value('text()[1]','varchar(max)')
  ,1,2,''
 ) Primechanie
FROM [таблица] T
GROUP BY T.ID, T.FIO
ORDER BY T.ID;
1
168 / 142 / 1
Регистрация: 01.04.2010
Сообщений: 474
26.04.2012, 16:38 4
Разбери кусок моего кода. недавно писал его - описывать времени нет.
Там всё как ты хочешь.
табл #Lager - содержит поля Lagerid int, Lagerid_S int (ну тут можно и текстовый - всё равно для этого поля)


T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
------------------------------------------------------------------------------
if object_id('tempdb..#Tabl') is not null drop table #Tabl
create table #Tabl
    (Lagerid int,
    Lagerid_S varchar(8000))
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
 
declare @idc int
 
declare d cursor for
select distinct
    lagerid
from #Lager
 
Open    d
Fetch   next from d
into    @idc    
while   @@fetch_status = 0
begin
 
    SELECT @R = ISNULL(@R,'')+ CASE WHEN @R IS NULL THEN '' ELSE ', ' END +cast (lagerid_s AS varchar(100))
    FROM (  select distinct
                Lagerid_S
            from #Lager
            where lagerid=@idc ) a
 
insert into #tabl
select
    @idc,
    @R
 
select @R=null
 
fetch next from d
into    @idc
end
close   d
deallocate d
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
select
*
from #tabl
1
1644 / 1145 / 171
Регистрация: 23.07.2010
Сообщений: 6,796
26.04.2012, 16:50 5
Все таки с XML как-то получше будет
2
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 10
26.04.2012, 16:53  [ТС] 6
Спасибо вам большое... завтра на работе буду - попробую. Отпишусь потом.
0
168 / 142 / 1
Регистрация: 01.04.2010
Сообщений: 474
26.04.2012, 16:56 7
Цитата Сообщение от pincet Посмотреть сообщение
Все таки с XML как-то получше будет
ну я самоучка хоть и основная работа у меня на MSSQL. так что XML я не знаю
1
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 10
27.04.2012, 06:29  [ТС] 8
Спасибо! все получилось
0
27.04.2012, 06:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2012, 06:29
Помогаю со студенческими работами здесь

Программирование с использованием строковых переменных
Ввести с клавиатуры строку чисел. Проверить, является ли введенная строка целым числом.

Прграммирование с использованием строковых переменных
Дана строка символов.Заменить каждый из символов на его код.

Двойной backslash в строковых переменных
Имеем следующии код if(!MoveFiles("C:\\Users\Admin\\Dropbox\\C++ Bulder 6\\Ruestr\\Skin\\", ...

Портятся значения строковых переменных
Коллеги, есть серьезная проблема: в программе на VB6 самопроизвольно портятся значения строковых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru