SQL Server. Трансформация таблицы в строку
Функция as_agg позволяет быстро превратить табличные данные в единую строку, созданную путем конкатерации всех строк таблицы.
Создаем функцию:
Create or ALTER FUNCTION [dbo].[as_agg]
(
@t ExtendedDictionaryParameter readonly
)
RETURNS Nvarchar(max)
AS
BEGIN
declare @res nvarchar(max)
SELECT @res = STUFF(
(
SELECT COALESCE(value2, value, '')
FROM @t
FOR XML PATH(''), TYPE
).value('.','nvarchar(max)')
,1,0, ''
)
return @res
END
Используем ее:
declare @t ExtendedDictionaryParameter
insert @t (Value2)
select top 3 '' + code + '' from as_trace
select [dbo].[as_agg](@t)
Примечание:
1. Обработка корректно работает и для HTML разметки.
2. Используется стандартный тип для Falcon Space ExtendedDictionaryParameter, состоящий из Key, Value, Value2. В данном примере используется только поле Value2.
CREATE TYPE [dbo].[ExtendedDictionaryParameter] AS TABLE(
[Key] [nvarchar](32) NULL,
[Value] [nvarchar](512) NULL,
[Title] [nvarchar](1024) NULL,
[Value2] [nvarchar](max) NULL
)
GO
Альтернативный вариант - в запросе через STUFF:
set @temp = STUFF((
SELECT '<article class="bla-item card mb-3">'+name+'</article>'
FROM table1
FOR XML PATH(''), TYPE).value('.','nvarchar(max)') ,1,0, '')
Что еще посмотреть по SQL Server
SQL. Как работать с датами в SQL Server
SQL Server. Как переносить на новую строку в строковой переменной в SQL
SQL. Вывод разметки HTML в сыром виде (в виде тегов) в SQL
SQL. Как привести дату в строку в нужный формат в SQL Server
SQL. Как использовать select from Хранимка
SQL. Как прописью написать число в SQL
SQL. Как массово залить данные в таблицу БД через CSV (Excel)
SQL. Как перенести сложный тип данных на другую базу
SQL. Как перевести дату JS в дату SQL
SQL. Как выводить окончание у множественного числа (5 заказОВ, 3 заказА)
Настройка полнотекстового поиска fulltext search в SQL Server
Разработчик SQL, нужны клиенты и заказы?
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта