Menggabungkan Baris Anak menjadi Satu Baris Induk dalam MySQL
Cabaran yang dikemukakan di sini melibatkan menggabungkan data daripada dua jadual: Ordered_Item dan Ordered_Options. Matlamatnya adalah untuk mengeluarkan satu baris untuk setiap item dalam Ordered_Item, termasuk gabungan semua pilihan yang dikaitkan dengan item tersebut daripada Ordered_Options.
Struktur Pangkalan Data
**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
Cadangan Penyelesaian
Percubaan pertanyaan yang disediakan, walaupun tidak betul dari segi sintaksis, menunjukkan pendekatan yang mungkin menggunakan gabungan berbilang. Walau bagaimanapun, penyelesaian yang lebih cekap boleh dicapai menggunakan fungsi GROUP_CONCAT.
GROUP_CONCAT membenarkan penyatuan nilai daripada berbilang baris ke dalam satu rentetan. Pertanyaan berikut menggunakan GROUP_CONCAT untuk mencapai output yang diingini:
select ordered_item.id as `Id`, ordered_item.Item_Name as `ItemName`, GROUP_CONCAT(Ordered_Options.Value) as `Options` from ordered_item, ordered_options where ordered_item.id=ordered_options.ordered_item_id group by ordered_item.id
Output
Id ItemName Options 1 Pizza Pepperoni,Extra Cheese 2 Stromboli Extra Cheese
Pertimbangan Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang Baris Anak menjadi Baris Induk Tunggal dalam MySQL Menggunakan GROUP_CONCAT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!