powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / каким образом склеить строки
18 сообщений из 18, страница 1 из 1
каким образом склеить строки
    #32039423
_Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице, несколько записей содержат строки являющиеся частью одного логического блока. Можно ли их склеить в одну.
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039426
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плюсиком....
например
Код: plaintext
SELECT (textfield + textfield2) as fulltext FROM source
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039427
_Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, не так все просто.
Я же говорю, что не несколько полей в одной записи, а одно и тоже поле но из разных записей.
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039430
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дай твой запрос...
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039433
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы Вы по подробнее задачу описали, было бы проще. А так на вскидку, или использовать курсор, или самообъединение нужной таблицы, или временную таблицу, или переменную типа таблица... Вообщем вариантов много.
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039650
LNH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LNH
Гость
аналогичная проблемма

задача такая - таблица с неизвестным кол-вом записей но с одним полем
например

---FieldA---
A
S
D
F
G

необходимо получить строчку ASDFG
а еще лучше строчку A,S,D,F,G,
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039655
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага и в чем ее хранит если число строк больше 8000 ?
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039660
LNH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LNH
Гость
записей гораздо меньше - порядка 20 - список такой просто - поэтому и хотелось бы попроще и покороче
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039664
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то после вчерашнего праздника у меня хороших идей мало... ;((
думаю что только через курсор или временную таблицу в цикле.... еслиб был уникальный ключ то можно б было и без временной таблицы...
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039665
Sergic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто пудов курсором.
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039671
_Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может есть и более простые способы, но через курсор тоже нормально. Создаешь курсор со склеиваемыми строками, открываешь и далее наподобие

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DECLARE  @TSql01 varchar( 254 )
DECLARE @lcFSQL01 varchar( 8000 )
DECLARE @lnRow tinyint
SET @lnRow =  1 
WHILE @lnRow<= 10 
	BEGIN
		FETCH ABSOLUTE @lnRow FROM ADS INTO  @TSql01
		IF @@FETCH_STATUS!= 0 
			BREAK

		SET @lcFSQL01 = @lcFSQL01+@TSql01
		SET @lnRow = @lnRow +  1 
	END


P.S. 10-ть в условии WHILE - мой частный случай, также при FETCH NEXT у меня получалось два раза последняя строка
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039677
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
DECLARE  @TSql01 varchar( 254 )
DECLARE @lcFSQL01 varchar( 8000 )
WHILE @@FETCH_STATUS!= 0 
	BEGIN
		FETCH ABSOLUTE @lnRow FROM ADS INTO  @TSql01
		SET @lcFSQL01 = @lcFSQL01+@TSql01
	END
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039680
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон...
Код: plaintext
1.
2.
3.
4.
5.
6.
DECLARE  @TSql01 varchar( 254 )
DECLARE @lcFSQL01 varchar( 8000 )
WHILE @@FETCH_STATUS!= 0 
	BEGIN
		FETCH NEXT FROM ADS INTO  @TSql01
		SET @lcFSQL01 = @lcFSQL01+@TSql01
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039686
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во блин....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
DECLARE  @TSql01 varchar( 254 )
DECLARE @lcFSQL01 varchar( 8000 )
FETCH NEXT FROM ADS INTO  @TSql01
WHILE @@FETCH_STATUS= 0 
	BEGIN
                          SET @lcFSQL01 = @lcFSQL01+@TSql01
		FETCH NEXT FROM ADS INTO  @TSql01
            END
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039703
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не покатит?

Код: plaintext
1.
2.
3.
4.
declare @s varchar( 8000 )
select @s = ''
select
  @s = @s + FieldA
from  ADS
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039706
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если надо задавать порядок, то придётся курсором, а если не надо, то можно проще
пишется такая функция
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE function ss(@key int)
returns varchar( 500 )
AS
BEGIN
  declare @s varchar( 25 )
  set @s=''
  select @s=','+FieldA+@s from tbl where key=@key
  set @s=substring(@s, 2 , 500 )
  return @s
END


ну и запрос будет типа
select distinct key, dbo.ss(key) from tbl
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039755
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ.. еслиесть ключик кнечно...
...
Рейтинг: 0 / 0
каким образом склеить строки
    #32039861
LNH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LNH
Гость
to 3JIA9I CyKA

спасибо, то что надо
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / каким образом склеить строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]