sql server 中合并某個字段值的實例
有表如下:

如何獲得如下結(jié)果:

解法
使用xml轉(zhuǎn)換
代碼如下:
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的所有記錄,并把它轉(zhuǎn)換成一個xml(關(guān)于將查詢集轉(zhuǎn)換成xml的文章,你可以去看看)
stuff((SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')),1,1,'')
--這條語句的作用是把生成的xml前面的一個逗號去掉并轉(zhuǎn)化成標量值
--最后用一個distinct去掉重復(fù)的記錄
相關(guān)文章
SQLServer恢復(fù)表級數(shù)據(jù)詳解
這篇文章主要介紹了SQLServer中用于快速恢復(fù)表,而不是庫,但是切記,防范總比亡羊補牢好,需要的朋友可以參考下2014-08-08
SQL?Server?2022?Enterprise安裝部署的實現(xiàn)步驟
SQL?Server?2022是一款功能強大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了穩(wěn)定可靠的數(shù)據(jù)存儲和管理功能,本文主要介紹了SQL?Server?2022?Enterprise部署的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2024-04-04
SQL SERVER 數(shù)據(jù)庫備份的三種策略及語句
這篇文章主要介紹了SQL SERVER 數(shù)據(jù)庫備份的三種策略及語句,需要的朋友可以參考下2017-02-02
SQL where條件和jion on條件的詳解及區(qū)別
這篇文章主要介紹了SQL where條件和jion on條件的詳解及區(qū)別的相關(guān)資料,這里舉例說明該如何區(qū)分,需要的朋友可以參考下2016-12-12
SQLServer存儲過程創(chuàng)建和修改的實現(xiàn)代碼
這篇文章主要介紹了SQLServer存儲過程創(chuàng)建和修改的實現(xiàn)代碼,需要的朋友可以參考下2017-05-05
動態(tài)給表添加刪除字段并同時修改它的插入更新存儲過程
有一個表,用戶需要在后臺操作它,希望能對它動態(tài)進行添加刪除字段2011-11-11
SQL Server 復(fù)制需要有實際的服務(wù)器名稱才能連接到服務(wù)器
今天在做sql Server 2005的實驗的時候碰到的問題,問題描述很清楚,懷疑是我以前給計算機修改了名稱而導(dǎo)致的.可以用select @@servername和select serverproperty ('servername')對照一下,兩個的結(jié)果是否一樣2012-06-06

