Я не уверен, правильно ли я понимаю пример, найденный... или я делаю что-то еще неправильно здесь... но я пытаюсь получить результаты моего запроса, возвращаемые как:
1.) Одна длинная строка с разделителями 2.) Удалить завершающий разделитель в конце возвращаемых данных
В таблице есть несколько столбцов, но я ТОЛЬКО беру идентификатор и НАЗВАНИЕ КОМПАНИИ.
Я работаю над результатом: ID0|NAME0|ID1|NAME1|ID2|NAME2... и т. д..
Используя это:
SELECT (ID + '|' + COMPANY + '|') AS ORGLIST
FROM vw_PreferredMail
WHERE member_type = 'CTR'
ORDER BY ID
Я получаю:
ID0|ИМЯ0 ID1|ИМЯ1 ID2|ИМЯ2
все в свои ряды..
Используя это:
DECLARE @OrgResults varchar(255)
SELECT @OrgResults = ID + '|' + COMPANY
FROM vw_PreferredMail
WHERE member_type = 'CTR'
ORDER BY ID
SELECT SUBSTRING(@OrgResults, 1, LEN(@OrgResults) - 1);
Я получаю только ПОСЛЕДНЮЮ строку.
Как я могу заставить все это находиться в одной "строке" с разделителями.. (при обрезке последнего разделителя? Или сначала, если его нужно изменить?)
Обновлять:
Этот подход "кажется" работает... (в настоящее время проверяет SSMS).. перед добавлением моего реального проекта
SELECT (ID + '|' + COMPANY)
FROM vw_PreferredMail
WHERE member_type = 'CTR'
ORDER BY ID
FOR XML PATH('');
Результаты выглядят как «ссылка» в SSMS (SQL Server Management Studio).. но кажутся полными..
Это приемлемое использование выше?