sql server 中歸並某個字段值的實例。本站提示廣大學習愛好者:(sql server 中歸並某個字段值的實例)文章只能為提供參考,不一定能成為您想要的結果。以下是sql server 中歸並某個字段值的實例正文
有表以下:
若何取得以下成果:
解法
應用xml轉換
代碼以下:
CREATE TABLE body
(
ID int,
BODY nvarchar(20)
)
go
INSERT INTO body VALUES(1,'aaaa')
INSERT INTO body VALUES(2,'bbbb')
INSERT INTO body VALUES(1,'cccccc')
INSERT INTO body VALUES(3,'ddddd')
go
SELECT * FROM body
SELECT distinct a.ID,stuff((SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')),1,1,'') ASBODY
FROM
body a
--詳細思緒是如許的:
SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')
--這條語句的感化是依照a中的ID查找body表中ID=a.ID的一切記載,並把它轉換成一個xml(關於將查詢集轉換成xml的文章,你可以去看看)
stuff((SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')),1,1,'')
--這條語句的感化是把生成的xml後面的一個逗號去失落並轉化成標量值
--最初用一個distinct去失落反復的記載