1. 程式人生 > >SQL SERVER 字符合並多行列

SQL SERVER 字符合並多行列

code 英語 table 備註 興趣 wid 固定 name 語文

【字符合並多行列】

思路1:行轉列,在與字符拼接(適用每組列數名相同)

思路2:轉xml,去掉多余字符(適用所有)

假設興趣表Hobbys

Name Hobby
小張 打籃球
小張 踢足球

Name Hobby
小張 打籃球,踢足球

【思路1】註意:此方法只是用分組裏行數內容固定的情況,如學科:語文,英語,數學。

select Name,打籃球+,+踢足球 AllHobby from (select * from Hobbys pivot (Hobby for Hobby in (打籃球,踢足球)) b) c

【思路2】次方法使用所有情況(推薦),備註:先理解for xml path,stuff。

select Name,stuff((select ,+Hobby from Hobbys b where b.Name=a,Name for xml path(‘‘)),1,1,‘‘) AllHobbys from Hobbys a

SQL SERVER 字符合並多行列