Эквивалент MYSQL group_concat в Sybase ASE?

Есть ли в Sybase ASE эквивалентная функция для group_concat в MYSQL?

4 ответа

Решение

Нет,

Вы должны создать хранимую процедуру.

Этот запрос объединит строки в столбце "column_to_concat", вы можете изменить символ разделителя пробелов запятыми, косой чертой и т. Д. В этом случае я выбираю пробел, потому что с помощью trim я могу избавиться от пробелов в начале и конце выход.

SELECT column_to_concat
INTO #table_temp
С таблицы

ОБЪЯВИТЬ @data VARCHAR(100)

ОБНОВЛЕНИЕ #table_temp
SET @data = @data + ' ' + column_to_concat

ВЫБЕРИТЕ LTRIM(RTRIM(@data))

DROP TABLE #table_temp

Еще лучше создать курсор, который обрабатывает одну строку за раз, которая может войти в хранимую процедуру. Предполагается, что запрос курсора сортирует данные через предложение order by, а затем объединяет данные с помощью выражения типа group_concat = group_concat + field.

У тебя есть сила!

Хороший SQL, спокойной ночи.

Вы можете использовать функцию СПИСОК:

      SELECT continent,
LIST (country, ',') as countries_in_continent
FROM world
GROUP BY continent
Другие вопросы по тегам