insert into @tt values (1, 1, 1, '耐酸汗渍色牢度(面料)','色泽变化', NULL)
insert into @tt values (1, 2, 1, '耐酸汗渍色牢度(面料)','涤布沾色', NULL)
insert into @tt values (2, 1, 1, '耐碱汗渍色牢度(里料)','棉布沾色', NULL)
insert into @tt values (2, 2, 1, '耐碱汗渍色牢度(里料)','色泽变化', NULL)
select A列,substring(D列,2,len(D列)) D列 from
(
select t1.A列 as A列,'A'+t2.D列 as D列 from @tt t1 left join @tt t2
on t1.A列 = t2.A列 group by t1.A列,t2.D列
union all
select t1.A列 as A列,'B'+t2.E列 from @tt t1 left join @tt t2
on t1.A列 = t2.A列 group by t1.A列,t2.E列
--union all
--select t1.A列 as A列,'C'+t2.F列 from @tt t1 left join @tt t2
--on t1.A列 = t2.A列 group by t1.A列,t2.F列
) tt group by A列,D列
SELECT
A,
GROUP_CONCAT( B SEPARATOR ',' ),
GROUP_CONCAT( C SEPARATOR ',' )
FROM
table_name
GROUP BY
A
1.GROUP_CONCAT()中的值为你要合并的数据的字段名
2.SEPARATOR 函数是用来分隔这些要合并的数据的 ,' ' 中是你要用哪个符号来分隔,可以直接不填符号默认为空值;
2.必须要用GROUP BY 语句来进行分组管理,不然所有的数据都会被合并成一条记录
参考链接
https://www.cnblogs.com/shoshana-kong/p/11147690.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)