【发布时间】:2012-05-10 00:35:19
【问题描述】:
我在 google 的帮助下编写了此查询,以从表中创建一个分隔列表,但我对此查询一无所知。
谁能解释一下发生了什么
SELECT
E1.deptno,
allemp = Replace ((SELECT E2.ename AS 'data()'
FROM emp AS e2
WHERE e1.deptno = e2.DEPTNO
FOR xml PATH('')), ' ', ', ')
FROM EMP AS e1
GROUP BY DEPTNO;
给我结果
10 CLARK, KING, MILLER
20 SMITH, JONES, SCOTT, ADAMS, FORD
30 ALLEN, WARD, MARTIN, BLAKE, TURNER, JAMES
【问题讨论】:
-
请注意,您的代码将无法处理包含类似字符的文本 > 您将获得像
<、>、&这样的字符扩展,还有更好的进行这种连接的方法,请参阅:stackoverflow.com/a/5031297/65223
标签: sql sql-server sql-server-2008