Можно создать дубликат:
Concatenate many rows into a single text string?Выберите несколько строк SQL в одну строку
Предположим, у меня есть таблица с именем tblContractMail
. Пример таблицы с данными, приведены ниже:
Мне нужно написать запрос SQL, который производит следующий вывод:
«[email protected]; [email protected]; ХИК @ akij.net»
Я знаю две возможности:
DECLARE @str varchar(4000)
SELECT @str = COALESCE(@str + ';', '') + strContract FROM tblContractMail
SELECT @str
и:
DECLARE @str varchar(4000)
SET @str = (SELECT strContract + ';' FROM tblContractMail FOR XML PATH(''))
SET @str = SUBSTRING(@str, 1, LEN(@str)-1)
SELECT @str
Есть ли способ, чтобы получить этот вывод в одном запросе (я имею в виду из объявляя переменные)?
См. Это. http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string –
Да, этот вопрос был продублирован не раз. –
@PeterMajeed: Правда, хотя в этой конкретной форме его никогда не спрашивали. –