Агрегирование строк
Когда речь заходит о конкатенации, мы обычно имеем в виду объединение значений из разных столбцов. Однако разработчики баз данных нередко сталкиваются с другой задачей — конкатенацией значений из нескольких строк. Раньше это требовало написания многих строк кода, и каждый разработчик решал задачу по-своему.
Теперь то же самое можно сделать с помощью функции STRING_AGG().
Синтаксис:
STRING_AGG(expression, separator) [WITHIN GROUP (ORDER BY expression)]
В этом упражнении вы составите список происхождения какао-бобов для каждой из следующих компаний: 'Bar Au Chocolat', 'Chocolate Con Amor', 'East Van Roasters'.
Помните: чтобы STRING_AGG() работала корректно, необходимо определить правило группировки данных и указать его в предложении GROUP BY.
Это упражнение является частью курса
Функции для работы с данными в SQL Server
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
SELECT
-- Create a list with all bean origins, delimited by comma
___(___, ___) AS bean_origins
FROM ratings
WHERE company IN ('Bar Au Chocolat', 'Chocolate Con Amor', 'East Van Roasters');