Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 13:39   #1
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
Вопрос Суммирование строковых данных

Возникла следующая проблема. у меня есть запрос с группировкой. группируемые данные в данном случае это строки...
Если бы были числа то можно было бы использовать функцию Sum, но как я понял она суммировать может только числа, а мне нужно получить сумму строковых данных. то есть есть:
Код:
Иванов
Петров
Сидоров
надо сложить так:
Код:
ИвановПетровСидоров
еще желательно дописывать некий разделитель - например пробел или точку с запятой
Код:
Иванов;Петров;Сидоров
Можно конечно программно потом сложить, но в моем случае это довольно таки проблематично. желательно это сделать на уровне запроса
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 01.11.2011, 14:35   #2
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Какая СУБД хоть?
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 01.11.2011, 14:41   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Насколько помню вы на MSSQL? В принципе для заданного значения поля, по которому группировка, сформировать строку с перечнем значений из другого поля можно, но не одним запросом. Это будет группа команд с курсором, которую можно оформить и как процедуру. При этом существуют ограничения на длину результирующей строки, 8000 для MSSQL 2000, для более новых версий не скажу точное значение этого ограничения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.11.2011, 16:20   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если речь идёт об MS SQL
то, как не удивительно, но задача может быть решена ОДНИМ запросом!

смотрите из фака на SQL.RU
Сложение символьных полей в запросе для SQL Server 2005
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.11.2011, 16:40   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Наверно начиная с 2005 такая возможность появилась. А там же по сcылочке приведены примеры и других вариантов, в том числе и с курсором
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.11.2011, 20:05   #6
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

да MS SQL спасибо ребят за ответы
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 01.11.2011, 20:23   #7
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

бррр... почитал... вроди бы все понятно но кажется это ресурсозатратно. ловчее все таки наверное будет программно это сделать
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 01.11.2011, 23:51   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
ловчее ... программно это сделать
Любой из способов предложенный в тех ссылках наверняка будет быстрее и менее ресурсоемкий, чем любой программный вариант получения такого списка с неизбежным запросом на получение всех слов, ИМХО
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка строковых данных chainik1 Помощь студентам 0 12.12.2010 11:42
Обработка строковых данных locdoc Паскаль, Turbo Pascal, PascalABC.NET 2 06.12.2010 17:28
Обработка строковых данных ChelseaFan Помощь студентам 3 03.12.2010 18:59
Обработка строковых данных >>arty<< Помощь студентам 4 15.01.2010 23:07