我想在Sql Server Compact中制作类似于STRING_AGG的东西。
示例:
+----+--------+
| Id | Code |
+----+--------+
| 1 | 256987 |
| 1 | 256985 |
| 1 | 356994 |
+----+--------+
所需结果:
+----+------------------------+
| Id | Codes |
+----+------------------------+
| 1 | 256987, 256985, 356994 |
+----+------------------------+
谢谢!
答案 0 :(得分:0)
您最好的选择是使用C#(string.Join
)。
答案 1 :(得分:-1)
有两种方法可以做到这一点:
1:使用COALESCE
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;
您可以找到更多详细信息here。