Gul*_*rej 10 sql t-sql sql-server sql-server-2008
我有表TestTable
ID Name
-------
1 A
1 B
1 C
2 D
2 E
3 F
Run Code Online (Sandbox Code Playgroud)
我想在SQL Server 2008中编写一个将返回的查询
ID Name
----------
1 A,B,C
2 D,E
3 F
Run Code Online (Sandbox Code Playgroud)
请有人帮我写这个查询.
Mah*_*mal 16
AFAIK,没有本土方式这样做.但是,您可以FOR XML
像这样使用:
SELECT
t1.Id,
STUFF((
SELECT ', ' + t2.name
FROM Table1 t2
WHERE t2.ID = t1.ID
FOR XML PATH (''))
,1,2,'') AS Names
FROM Table1 t1
GROUP BY t1.Id;
Run Code Online (Sandbox Code Playgroud)
这会给你:
| ID | NAMES |
----------------
| 1 | A, B, C |
| 2 | D, E |
| 3 | F |
Run Code Online (Sandbox Code Playgroud)
SQL Server 2008通过使用Pivot or Unpivot
@ http://msdn.microsoft.com/en-us/library/ms177410(v=sql.105).aspx支持此功能
归档时间: |
|
查看次数: |
36285 次 |
最近记录: |