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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конкатенция char полей при группировние, T-SQL 
V
    Опции темы
Kolovorot
Дата 23.9.2011, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Дана таблица:
Код

 id        name
-----------------
1         'abc'
2         'def'
1         '123'
1         '789'
2         'a'


Нужный результат:

Код

id        concatname
-----------------------
1         'abc, 123, 789'
2         'def, a'

--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
AndreyIQ
Дата 23.9.2011, 13:08 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 3
Всего: 8



Цитата(Kolovorot @ 23.9.2011,  12:58)
Дана таблица:
Код

 id        name
-----------------
1         'abc'
2         'def'
1         '123'
1         '789'
2         'a'


Нужный результат:

Код

id        concatname
-----------------------
1         'abc, 123, 789'
2         'def, a'

Хранимые процедуры Вам в помошь.
PM MAIL   Вверх
newbee
Дата 23.9.2011, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


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

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



Код

select id, group_concat(name separator ', ') as concatname from table order by id;


Это сообщение отредактировал(а) newbee - 23.9.2011, 13:17


--------------------
You're face to face
With man who sold the world
PM   Вверх
Zloxa
Дата 23.9.2011, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

Репутация: 53
Всего: 161



Цитата(newbee @  23.9.2011,  13:16 Найти цитируемый пост)
select id, group_concat(name separator ', ') as concatname from table order by id;

1) T-SQL  подразумевает платформу сайбез или MS SQL, а group_concat функция MySQL
2) order by и group by таки суть разные вещи




--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
newbee
Дата 23.9.2011, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


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

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



Цитата(Zloxa @  23.9.2011,  14:31 Найти цитируемый пост)
T-SQL
Ой! Не заметила (

Цитата(Zloxa @  23.9.2011,  14:31 Найти цитируемый пост)
order by и group by таки суть разные вещи
Опечаталась (



--------------------
You're face to face
With man who sold the world
PM   Вверх
Kolovorot
Дата 23.9.2011, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(AndreyIQ @ 23.9.2011,  13:08)
Хранимые процедуры Вам в помошь.

??? А как это реализовать с помощью хранимых процедур????

Нашел решение с помощью FOR XML:
Код

SELECT t1.ID, t2.concatname
FROM
  (
    SELECT DISTINCT ID
    FROM t
   )AS t1
  OUTER APPLY
  (
    SELECT
      (
        SELECT [name] + ', '
        FROM t
        WHERE t.ID = t1.ID
        FOR XML PATH('')
       ) AS concatname
   )AS t2

--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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