Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как запросом сделать конкатенацию всех строковых значений [MSSQL]


big_bugzy ©   (2003-10-30 15:57:00) 

в определенном поле таблицы??
т.е. попросту сделать стринговый SUM ??


Fay   (2003-10-30 21:13:00) [1]

declare @s varchar(do_hrena)

select @s = ""

select @s = @s+Field from Table

print "Wow!"


SergSuper   (2003-10-30 19:14:00) [2]

если порядок не важен, то можно и без курсора
http://www.sql.ru/faq/faq_topic.aspx?fid=130


Sandman25   (2003-10-30 17:07:00) [3]

Еще интересно, в каком порядке конкатенировать...


big_bugzy   (2003-10-30 17:05:00) [4]

Nikolay M. © ,Reindeer Moss Eater ©
понял, значит буду с курсорами разбираться...


paul_k   (2003-10-30 17:03:00) [5]

объявить курсор
Query Analiser - F1-Cursor
и дальше по циклу выбрать все записи из курсора
но, подчеркиваю тип строка не безконечен и исключения могут не сгенерится
проверь сначала результат след. селекта
declare @a varchar(5)
select @a="12345"+"12345"
select @a

и десять раз подумай надо ли оно, и нельзя ли другим способом сделать


Nikolay M.   (2003-10-30 16:59:00) [6]


> как в SQL сделать цикл и сложить записи?

Reindeer Moss Eater © (30.10.03 16:01) [1]
все написал - через создание курсора.


> нет необходимости хранить это, нужно один раз сложить и
> все...

Делай тогда вообще на клиенте. Конечно, если объемы позволяют, чтобы их по сети тягали. Но правильнее, конечно, через ХП и курсор.


big_bugzy   (2003-10-30 16:54:00) [7]

paul_k ©
как в SQL сделать цикл и сложить записи?
Nikolay M. ©
нет необходимости хранить это, нужно один раз сложить и все...


Nikolay M.   (2003-10-30 16:27:00) [8]

Можно еще тригеры повесить на insert/update/delete и перестраивать руками это "определенное поле таблицы".
Хотя смысл сих манипуляций для меня лично - загадка...


paul_k   (2003-10-30 16:23:00) [9]

подробнее - по циклу сложить все строки в одну.
только, по моему мнению, бред это и попытка налететь на ограничение типа. Тем более, насколько я помню, не всегда при присвоении строковой переменной строки длиннее разрешенного генерится исключение. ТО есть просуммировать вроде просуммирует а в результате будет, ну скажем первые 255 символов (или первые 4000 - как переменную объявить)
и какой смысл самому себе грабли подкладывать?


big_bugzy   (2003-10-30 16:04:00) [10]

Reindeer Moss Eater ©
Можно по подробнее??


Reindeer Moss Eater   (2003-10-30 16:01:00) [11]

TransactSQL + курсор + операции сложения (||)


Наверх

Титульная страница Поиск, карта сайта Написать письмо