SQL 多列相同 动态合并生成动态多行

图片说明
若是工序+机台+部位+名称+型号 相同,则多行合并为一行,多行都往右侧动态增加列,
,若一行增加3列,2行增加6列,(【开始时间,结束时间,差值, 开始时间,结束时间,差值 ……】),按开始时间先后往右累加。

https://blog.csdn.net/sinat_32057099/article/details/49179617

sql列转行, 本质上就是一个分组查询的问题;

将 select ... from ... group by 工序+机台+部位+名称+型号

建议使用存储过程,或是函数实现;普通的SQL分组查询可以实现字段内容的合并,但是动态根据组内条数扩展列据我的知识范围应该是实现不了,可以尝试存储过程是否可以实现。。

oracle的话 聚合参数了解一下

  1. 将 select ... from ... group by 工序+机台+部位+名称+型号
  2. 若知道是最多有多少次直接关联几次再查询unquie行就OK