MySql:动态添加列,与另一个表中的行一样多
传输表MySql:动态添加列,与另一个表中的行一样多,mysql,pivot-table,Mysql,Pivot Table,传输表 id name 1 T1 2 T2 托盘台 id name 1 P1 2 P2 运输托盘容量表 id transport_id pallet_id capacity 1 1 1 10 2 1 2 null 3 2 1 20 4 2 2 24 如何生成这样的表: id tra
id name
1 T1
2 T2
托盘台
id name
1 P1
2 P2
运输托盘容量表
id transport_id pallet_id capacity
1 1 1 10
2 1 2 null
3 2 1 20
4 2 2 24
如何生成这样的表:
id transport_id pallet_id_1_capacity pallet_id_2_capacity
1 1 10 null
2 2 20 24
问题:可以添加托盘和运输工具,因此,这两种数量都不预先知道。
例如,manager添加了另一个托盘类型,应生成“托盘id\u 3\u容量”列,如果没有可用的容量数据,则该列可以显示null。
另一名经理可在收到通知后填写“运输托盘容量”表
有没有一种在mysql中构建sql的方法可以考虑上述内容:特别是-托盘的动态数量?在编写查询时,必须固定sql选择列表。不能使SQL根据找到的数据自动扩展其列 但您的请求很常见,称为透视表或交叉表 唯一的解决方案是分多个步骤进行: 查询以发现不同的托盘ID。 使用应用程序代码构建动态SQL查询,其列数与第一次查询中找到的不同托盘id值相同。 运行生成的动态SQL查询。 这适用于所有SQL数据库,而不仅仅是MySQL 有关在MySQL中生成数据透视表查询的高投票率解决方案,请参阅 我不会把你的问题当作这个问题的重复来投票,因为你的查询还涉及到transport_id,这会使查询解决方案有点不同。但是阅读其他透视表解决方案应该可以让您开始