22,210
社区成员
发帖
与我相关
我的任务
分享
;with tb01(jfmc, khmc, bysjs, byjds, bydk, cfhjj, fzbyyl, zsjs, zjds, zdk, zfh) as
(
select 'DC1M1219', 'CCB', 0, 0, 0, '', '', 2, 2, 4, 0 union all
select 'DC1M1219', 'CCB', 0, 0, 0, 'H15', 'H', 1, 1, 2, 500 union all
select 'DC1M1219', 'CCB', 0, 0, 0, 'H16', '', 1, 1, 2, 1000 union all
select 'DC1M2221', 'WJB', 1, 1, 4, '', '', 1, 1, 4, 500 union all
select 'DC1M2221', 'WJB', 1, 1, 4, 'A01', '', 1, 1, 4, 500 union all
select 'DC1M2221', 'WJB', 1, 1, 2, 'H01', 'H', 1, 1, 2, 500
)
--select * from tb01
select jfmc, khmc,
SUM(bysjs)as bysjs, SUM(byjds) as byjds,
SUM(zsjs)as zsjs, SUM(zjds)as zjds,
SUM(zdk)as zdk, SUM(zfh)as zfh,
(
stuff((select N','+ cfhjj
from tb01
where jfmc=t.jfmc and khmc=t.khmc and cfhjj <> ''
order by cfhjj desc
FOR XML PATH('')), 1, 1, N'')
) as cfhjj,
(
stuff((select N','+ fzbyyl
from tb01
where jfmc=t.jfmc and khmc=t.khmc and fzbyyl <> ''
order by fzbyyl desc
FOR XML PATH('')), 1, 1, N'')
) as fzbyyl
from tb01 as t
group by jfmc, khmc
结果:
jfmc khmc bysjs byjds zsjs zjds zdk zfh cfhjj fzbyyl
DC1M1219 CCB 0 0 4 4 8 1500 H16,H15 H
DC1M2221 WJB 3 3 3 3 10 1500 H01,A01 H