【发布时间】:2018-08-02 05:58:16
【问题描述】:
我有下面列出的表结构
Budhol COCODE BEN OBJ SPARE2 SPARE1 TASKNO Value Field Code
---------------------------------------------------------------------------------
362103 36 362101 991003 NULL MA1001 NULL 4516 613030 001
362104 36 362104 991003 NULL MA1001 NULL 9088 613030 002
362103 36 362101 991003 NULL MA1001 NULL 3387 613030 003
362103 36 362101 991003 NULL MA1001 NULL 4026 613030 004
这是需要的输出
Budhol COCODE BEN OBJ SPARE2 SPARE1 TASKNO Value Field Code
---------------------------------------------------------------------------------
362103 36 362101 991003 NULL MA1001 NULL 11929 613030 001,003,001
362104 36 362104 991003 NULL MA1001 NULL 9088 613030 002
即通过分组,我需要所有值的总和和逗号分隔的代码
我尝试过以下查询,但输出与我获取所有列的所有代码不匹配
SELECT
B.BEN, B.Budhol, B.COCODE, B.FIELD, B.OBJ, B.SPARE1, B.SPARE2,
SUM(B.value) AS Value ,
Code = STUFF((SELECT ', ' + Code
FROM #temp2 b
WHERE b.BEN = B.BEN
AND b.Budhol = B.Budhol
AND b.COCODE = B.COCODE
AND b.FIELD = B.FIELD
AND b.SPARE1 = B.SPARE1
AND b.SPARE2 = B.SPARE2
FOR XML PATH('')), 1, 1, '')
FROM
#temp2 B
GROUP BY
B.BEN, B.Budhol, B.COCODE, B.FIELD, B.OBJ, B.SPARE1, B.SPARE2;
【问题讨论】:
-
@cars10mi 尝试过同样的方法,您可以查看我尝试过的查询
-
362103的值怎么可以是17630?
-
@maulikkansara 立即查看
-
@Nilesh 请检查我发布的答案,您接受的答案无效,请检查
标签: sql sql-server sql-server-2008