我在 MySQL 中有一个表,我需要在其中加入多行。该表如下所示:
Order_ID | Item_ID | color
1 1 white
1 2 red
2 1 black
2 1 blue
我想根据它们的 Order_ID 组合这些行,这将产生如下所示的结果:
Order_ID | Item_1_ID | Item_1_color | Item_2_ID | Item_2_color
1 1 white 2 red
2 1 black 1 blue
我知道有一种方法可以通过使用 group concat 将两行合并为一个,但我想这样做,以便每个字段保持分离,而不是像使用 group concat 一样连接。
我也已经尝试过使用语句加入,如下所示:
SELECT o.*, o1.* FROM order o INNER JOIN order o1 ON o.Order_ID = o1.Order_ID
但在少数情况下,我想要加入的行太多,超过了 MySQL 中 61 加入的限制。
任何帮助将不胜感激,谢谢。
- -编辑 - -
还有另一个称为 group 的参数,它决定了每个订单的商品数量。该表如下所示:
Order_ID | group
1 1
2 1
因此,如果订单属于同一组,它们将具有相同的列数,但在一组和另一组之间,列数可能不同。而且我的查询仅针对一组,因此列数之间的差异没有问题。