我怎样才能做到像“这样的事?”;字符串“u AGG”;在Sql Server Compact中?

我怎样才能做到像“这样的事?”;字符串“u AGG”;在Sql Server Compact中?,sql,sql-server-ce,Sql,Sql Server Ce,大家 我想在Sql Server Compact中创建类似字符串_AGG的东西 例如,我想展平下表中的“代码”列: +----+--------+ | Id | Code | +----+--------+ | 1 | 256987 | | 1 | 256985 | | 1 | 356994 | +----+--------+ 所以我会得到这样的结果: +----+------------------------+ | Id | Codes

大家

我想在Sql Server Compact中创建类似字符串_AGG的东西

例如,我想展平下表中的“代码”列:

+----+--------+  
| Id | Code   |  
+----+--------+    
| 1  | 256987 |   
| 1  | 256985 |   
| 1  | 356994 |  
+----+--------+  
所以我会得到这样的结果:

+----+------------------------+   
| Id | Codes                  |   
+----+------------------------+      
| 1  | 256987, 256985, 356994 |   
+----+------------------------+   

提前谢谢

有几种方法可以做到这一点:

1:使用合并

DECLARE @Tbl TABLE
(
Name VARCHAR(20)
);

INSERT INTO @Tbl VALUES
('Jim'),
('Tim'),
('Kim');

DECLARE @ReturnVar VARCHAR(256);

SELECT *
FROM @Tbl;

SELECT @ReturnVar = COALESCE(@ReturnVar + ', ', '') + Name
FROM @Tbl;

SELECT @ReturnVar;
2:使用XML

DECLARE @Tbl TABLE
(
Name VARCHAR(20)
);

INSERT INTO @Tbl VALUES
('Jim'),
('Tim'),
('Kim');

DECLARE @ReturnVar VARCHAR(256);

SELECT STUFF((SELECT ',' + Name
                           FROM @Tbl
                           FOR XML PATH('')),1,1,'') AS Name;

您可以找到更详细的信息。

您最好的选择是使用C#()。

您最好的选择是使用C#(string.Join)进行编辑。是的,我用C#编辑了它,它成功了,谢谢!感谢您的回复,但在Sql Server Compact中,我们不能使用DECLARE或for XML PATH。您如何启动查询?是通过程序还是在查询窗口中?通过程序,我终于用c#(string.Join)完成了,谢谢!很高兴你解决了这个问题,你也可以这样做: