Dav*_*ave 3 sql t-sql sql-server-2005
我们有一点SQL quandry.说我有一个看起来像这样的结果......
61E77D90-D53D-4E2E-A09E-9D6F012EB59C | A 
61E77D90-D53D-4E2E-A09E-9D6F012EB59C | B 
61E77D90-D53D-4E2E-A09E-9D6F012EB59C | C 
61E77D90-D53D-4E2E-A09E-9D6F012EB59C | D 
7ce953ca-a55b-4c55-a52c-9d6f012ea903 | E 
7ce953ca-a55b-4c55-a52c-9d6f012ea903 | F
有没有办法我可以在SQL中将这些结果分组以返回为
61E77D90-D53D-4E2E-A09E-9D6F012EB59C | ABCD   
7ce953ca-a55b-4c55-a52c-9d6f012ea903 | EF  
人们有什么想法?
非常感谢
戴夫
试试这个:
set nocount on;
declare @t table (id char(36), x char(1))
insert into @t (id, x)
select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' , 'A' union
select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' , 'B' union
select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' , 'C' union
select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' , 'D' union
select '7ce953ca-a55b-4c55-a52c-9d6f012ea903' , 'E' union
select '7ce953ca-a55b-4c55-a52c-9d6f012ea903' , 'F'
set nocount off
SELECT p1.id, 
          stuff(
                   (SELECT
                        ' ' + x
                        FROM @t p2
                        WHERE p2.id=p1.id
                        ORDER BY id, x
                        FOR XML PATH('') 
                   )
                   ,1,1, ''
               ) AS YourValues
      FROM @t p1
      GROUP BY id
OUTPUT:
id                                   YourValues
------------------------------------ --------------
61E77D90-D53D-4E2E-A09E-9D6F012EB59C A B C D
7ce953ca-a55b-4c55-a52c-9d6f012ea903 E F
(2 row(s) affected)
编辑
 
基于OP关于这需要运行现有查询的评论,试试这个:
;WITH YourBugQuery AS
(
    --replace this with your own query
    select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' AS ColID , 'A' AS ColX 
    union select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' , 'B' 
    union select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' , 'C' 
    union select '61E77D90-D53D-4E2E-A09E-9D6F012EB59C' , 'D' 
    union select '7ce953ca-a55b-4c55-a52c-9d6f012ea903' , 'E' 
    union select '7ce953ca-a55b-4c55-a52c-9d6f012ea903' , 'F'
)
SELECT p1.ColID, 
          stuff(
                   (SELECT
                        ' ' + ColX
                        FROM YourBugQuery p2
                        WHERE p2.ColID=p1.ColID
                        ORDER BY ColID, ColX
                        FOR XML PATH('') 
                   )
                   ,1,1, ''
               ) AS YourValues
      FROM YourBugQuery p1
      GROUP BY ColID
这与上面显示的结果设置相同.
| 归档时间: | 
 | 
| 查看次数: | 4006 次 | 
| 最近记录: |