需要把数据库数据行列转换

图片说明

直接数据库查询出来或者前端展示,方法不限,数据库实sqlserver 2014

https://www.cnblogs.com/dekevin/archive/2012/07/19/2599436.html

这个最好还是在前台处理,因为sql中既涉及行转列又涉及列转行,而且是不规则的(内存条和电源线单独一行且其他列为空)

相对而言,放在前台通过js处理方便的多

我看了你的表,如果物料编号一样,是同种商品,只不过卖不同公司不同价格吧。
如果是这样的话,可以试一下下面的方法:
1.先数据库sql 查询 ,这个时候是按物料编号分组查询,按公司名称降序,这个时候的结果就是

内存条 11 nc000001 大润发 999 8
内存条 11 nc000001 aaa111 777 9
2.客户端 可以用一个类来接这个数据, 类(物料名,企业名称,数量,周期)
3.然后一个小组一个小组输出来。(第一步查询的时候,是按公司名称降序,可以一行一行输这类的成员,输完了再读下一个组的数据)

行转列 可以用 case when 结合sum 一起使用

后端查询一下数据库内容,然后前端forech 行列进行 转换一下