SQL group by для объединения текста

#sql #string #netezza

#sql #строка #netezza

Вопрос:

Никогда не сталкивался с этим раньше. Я бы хотел сделать это в SQL, но я могу в Excel в качестве запасного варианта… Это относительно небольшой набор данных.

Предположим, у меня есть следующие данные:

 foo | val
---- -----
 A  | red
 A  | blue
 B  | up
 B  | down
  

…и я хочу результат…

 foo | agg
---- ---------
 A  | red,blue
 B  | up,down
  

Итак, если бы я мог изобрести свои собственные агрегатные функции, это было бы:

 select foo
      ,concat(val,',') as agg
from mytable
group by 1
  

Существует ли что-нибудь подобное? В частности, я на Netezza.

Спасибо!

Комментарии:

1. Что это за СУБД? SQL Server?

2. Нет, это Netezza.

3. www-304.ibm.com/connections/forums/html/…

Ответ №1:

Проверьте поток https://www-304.ibm.com/connections/forums/html/topic?id=a2402d13-1fdc-4e65-b0ad-adbedbe2c9e1 Может быть, это поможет вам. Но для однопроходного запроса вы должны быть уверены в максимально возможном количестве повторений. Или у вас может быть многопроходный запрос