for path多行变一列

--创建表 
if exists ( select *  from sysobjects  where id = OBJECT_ID('[TempTable_Base]')  and OBJECTPROPERTY(id, 'IsUserTable') =  1)  
DROP  TABLE [TempTable_Base] 
 
CREATE  TABLE [TempTable_Base] ( 
[id] [int]  IDENTITY ( 11)   NOT  NULL
[guid] [varchar]  ( 50NULL
[code] [varchar]  ( 50NULL
 
SET IDENTITY_INSERT [TempTable_Base]  ON 
 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  1,'91E92DCB-141A-30B2-E6CD-B59EABD21749','A') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  2,'91E92DCB-141A-30B2-E6CD-B59EABD21749','C') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  3,'91E92DCB-141A-30B2-E6CD-B59EABD21749','E') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  4,'91E92DCB-141A-30B2-E6CD-B59EABD21749','O') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  5,'91E92DCB-141A-30B2-E6CD-B59EABD21749','G') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  6,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','A') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  7,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','O') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  8,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','E') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  9,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','F') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  10,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','O') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  11,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','B') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  12,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','D') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  13,'79DD7AB9-CE57- 9431-B020-DF99731FC99D','F') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  14,'D61651D9-1B0A- 0362-EE91-A805AA3E08F2','O') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  15,'D61651D9-1B0A- 0362-EE91-A805AA3E08F2','D') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  16,'D61651D9-1B0A- 0362-EE91-A805AA3E08F2','F') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  17,'D61651D9-1B0A- 0362-EE91-A805AA3E08F2','C') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  18,'D61651D9-1B0A- 0362-EE91-A805AA3E08F2','U') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  19,'D61651D9-1B0A- 0362-EE91-A805AA3E08F2','F') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  20,'4802F0CD-B53F-A3F5-1C78-2D7424579C06','A') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  21,'3CCBFF9F-827B- 6639- 4780-DA7215166728','O') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  22,'3CCBFF9F-827B- 6639- 4780-DA7215166728','M') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  23,'3CCBFF9F-827B- 6639- 4780-DA7215166728','C') 
INSERT [TempTable_Base] ([id],[guid],[code]) VALUES (  24,'3CCBFF9F-827B- 6639- 4780-DA7215166728','M') 
 
SET IDENTITY_INSERT [TempTable_Base]  OFF 
 
 
 
 
 
SELECT  B.guid, LEFT(UserList,LEN(UserList)- 1as paths  FROM ( 
SELECT guid, 
    ( SELECT code+','  FROM TempTable_Base  WHERE guid=A.guid  ORDER  BY ID  FOR XML PATH(''))  AS UserList 
FROM TempTable_Base A  
GROUP  BY guid 
) B 
 

你可能感兴趣的:(Path)