程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> sql server 中歸並某個字段值的實例

sql server 中歸並某個字段值的實例

編輯:MSSQL

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去失落反復的記載

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved