可能重複:
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:沒錯,雖然從未被問過這種特殊的形式。 –