Эквивалент 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