あらかじめありがとうございます。複数の子行を1つの行に結合するMYSQL
私は出力に探していますどのような二つのテーブル
Ordered_Item
ID | Item_Name 1 | Pizza 2 | Stromboli
Ordered_Options
Ordered_Item_ID | Option_Number | Value 1 43 Pepperoni 1 44 Extra Cheese 2 44 Extra Cheese
を持っているが、MySQLのクエリでこの効果
に何かあります私はほとんどの構文エラーで終わる多数のオプションを試してみましたが、出力
ID | Item_Name | Option_1 | Option_2 1 Pizza Pepperoni Extra Cheese 2 Stromboli NULL Extra Cheese
は、私がGROUP_CONCATを試してみましたが、私は探しています本当にないのthatsています。私は以下のような原始的な例を持っています。私はオプションが毎回同じ順序である必要があります。また、情報が収集されるプログラムでは、確実に起こることを確実にする方法がありません。オプション番号に従ってそれらを連結することは可能ですか?また、私は静的なソリューションが動作するので、私は決して5つ以上のオプションがあることを知っている
Select Ordered_Items.ID,
Ordered_Items.Item_Name,
FROM Ordered_Items
JOIN (SELECT Ordered_Options.Value FROM Ordered_Options Where Option_Number = 43) as Option_1
ON Ordered_Options.Ordered_Item_ID = Ordered_Item.ID
JOIN (SELECT Ordered_Options.Value FROM Ordered_Options Where Option_Number = 44) as Option_2
ON Ordered_Options.Ordered_Item_ID = Ordered_Item.ID;
ありがとう! ジョー
彼は「私はgroup_concatを試みたが、実際には私が探しているものではない」と述べた。 –
こんにちは、 素早い応答をありがとうが、私は情報の重要な部分を含んでいなかったのでしょうか?私はオプションが毎回同じ順序である必要があります。また、情報が収集されるプログラムでは、確実に起こることを確実にする方法がありません。オプション番号に従ってそれらを連結することは可能ですか?また、私は静的なソリューションが動作するように5つ以上のオプションを持つことはありません知っている。 –
グループ内のアイテムを注文するには、次のようにします。 GROUP_CONCAT(Ordered_Options.Value ORDER BY Ordered_Options.value)、 –