
- SELECT * FROM @hobby FOR XML PATH
- <row>
- <hobbyID>1</hobbyID>
- <hName>爬山</hName>
- </row>
- <row>
- <hobbyID>2</hobbyID>
- <hName>游泳</hName>
- </row>
- <row>
- <hobbyID>3</hobbyID>
- <hName>美食</hName>
- </row>
- SELECT * FROM @hobby FOR XML PATH('MyHobby')
- <MyHobby>
- <hobbyID>1</hobbyID>
- <hName>爬山</hName>
- </MyHobby>
- <MyHobby>
- <hobbyID>2</hobbyID>
- <hName>游泳</hName>
- </MyHobby>
- <MyHobby>
- <hobbyID>3</hobbyID>
- <hName>美食</hName>
- </MyHobby>
- SELECT hobbyID as 'MyCode',hName as 'MyName' FROM @hobby FOR XML PATH('MyHobby')
那么这个时候我们列的节点名称也会编程我们自定义的名称 <MyCode>与<MyName>结果如下:
- <MyHobby>
- <MyCode>1</MyCode>
- <MyName>爬山</MyName>
- </MyHobby>
- <MyHobby>
- <MyCode>2</MyCode>
- <MyName>游泳</MyName>
- </MyHobby>
- <MyHobby>
- <MyCode>3</MyCode>
- <MyName>美食</MyName>
- </MyHobby>
- SELECT '[ '+hName+' ]' FROM @hobby FOR XML PATH('')
- SELECT '{'+STR(hobbyID)+'}','[ '+hName+' ]' FROM @hobby FOR XML PATH('')

- SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
- SELECT sName,
- (SELECT hobby+',' FROM student
- WHERE sName=A.sName
- FOR XML PATH('')) AS StuList
- FROM student A
- GROUP BY sName
- ) B

- SELECT hobby+',' FROM student
- WHERE sName=A.sName
- FOR XML PATH('')
- SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
- SELECT sName,
- (SELECT hobby+',' FROM student
- WHERE sName=A.sName
- FOR XML PATH('')) AS StuList
- FROM student A
- GROUP BY sName
- ) B

- SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby