複数の行を結合する必要がある 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
グループ連結を使用して 2 つの行を 1 つに結合する方法があることは知っていますが、グループ連結を使用する場合のように結合されるのではなく、各フィールドが分離されたままになるようにしたいと考えています。
私はすでに次のようなステートメント結合も使用してみました:
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
そのため、注文が同じグループに属している場合、列の数は同じになりますが、あるグループと別のグループでは列の数が異なる場合があります。また、私のクエリは 1 つのグループごとのみなので、列数の違いは問題ありません。