Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> select собрать в строку. Возможно ли?? 
:(
    Опции темы
gambit
Дата 29.7.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Добрый день. Имеется запрос, например Select id from Users
он возвращает столбец
id
1
3
7
34

А можно ли как то собрать этот результат в строку N'1,3,7,34'??
PM MAIL ICQ Skype   Вверх
Экскалупатор
Дата 29.7.2011, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: нет
Всего: 24



в SQLServer можно, делал(функции работы со строками, в процедуре по результату выбора можно пройтись "курсором" и сделать с данными все что угодно, потом вернуть результат). а в остальных базах не знаю, не сталкивался.
PM MAIL ICQ   Вверх
Yagmort
Дата 31.7.2011, 20:28 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 17.6.2009

Репутация: нет
Всего: -1



Цитата(gambit @ 29.7.2011,  15:33)
Добрый день. Имеется запрос, например Select id from Users
он возвращает столбец
id
1
3
7
34

А можно ли как то собрать этот результат в строку N'1,3,7,34'??

Наподобие этого в SQL, но это статически. Самое то получается в C#, закидываешь все значения в массив и там выбираешь котороые тебе нужно и выводишь.
Код

DECLARE @stroka1 Varchar;
DECLARE @stroka2 Varchar;
DECLARE @stroka3 Varchar;
DECLARE @stroka4 Varchar;
SELECT @stroka1=id_user from [base].[dbo].[ADMIN] WHERE id_user=1;
SELECT @stroka2=id_user from [base].[dbo].[ADMIN] WHERE id_user=2;
SELECT @stroka3=id_user from [base].[dbo].[ADMIN] WHERE id_user=3;
SELECT @stroka4=id_user from [base].[dbo].[ADMIN] WHERE id_user=4;
Select idSumm=@stroka1+','+@stroka2+','+@stroka3+','+@stroka4 from [shopbase].[dbo].[ADMIN]
WHERE id_user<=@stroka1


Это сообщение отредактировал(а) Yagmort - 31.7.2011, 20:29
PM MAIL   Вверх
CYBERDREAM
Дата 1.8.2011, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 1
Всего: 28



Привет gambit.

как вариант можно так (с базами не особо дружу):
Код

DECLARE @RESULT VARCHAR(MAX)='';
SELECT @RESULT=LTRIM(STR(ID))+','+@RESULT from comments
SELECT @RESULT 'CONCATENATION';


на наборе 
Цитата

ID
21
22
23
....
42


вернуло
Цитата

CONCATENATION
35,34,33,40,38,37,36,42,28,41,39,27,32,31,30,29,24,23,22,21,

прийдется резать еще к тому же посл. символ.

Добавлено через 1 минуту и 58 секунд
http://www.simple-talk.com/sql/t-sql-progr...n-transact-sql/
тут добрые люди хорошо описывают разные подходы к твоему вопросу.


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
gambit
Дата 1.8.2011, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Yagmort, что это вообще??
Экскалупатор, спасибо.
CYBERDREAM, отдельное спасибо и +
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.1263 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.