Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID dan Nama Hidangan Dipisahkan Koma untuk Setiap Hidangan dalam MySQL?

Bagaimana untuk Mendapatkan ID dan Nama Hidangan Dipisahkan Koma untuk Setiap Hidangan dalam MySQL?

DDD
DDDasal
2024-11-09 10:21:02360semak imbas

How to Retrieve Comma-Separated Dish IDs and Names for Each Meal in MySQL?

Mengambil Nilai Dipisahkan Koma daripada Berbilang Baris dalam MySQL

Dalam senario ini, anda mempunyai dua jadual, DISH dan DISH_HAS_DISHES, dengan satu hubungan -kepada-banyak. DISH mengandungi hidangan, manakala DISH_HAS_DISHES menyimpan hubungan antara hidangan dan hidangan. Matlamat anda adalah untuk mendapatkan semula data dalam format di mana setiap hidangan mempunyai senarai ID hidangan dan nama hidangan yang dipisahkan koma.

Untuk mencapai ini, anda boleh memanfaatkan fungsi GROUP_CONCAT MySQL. Fungsi ini membolehkan anda menggabungkan nilai daripada berbilang baris ke dalam satu rentetan, dipisahkan oleh pembatas yang ditentukan. Begini cara menggunakannya untuk memenuhi keperluan anda:

SELECT m.meal_Id,
        GROUP_CONCAT(dish_id) AS dish_ids,
        GROUP_CONCAT(dish_name) AS dish_names
FROM DISH_HAS_DISHES m
JOIN DISH d ON (m.dish_id = d.dish_id)
GROUP BY meal_Id

Dalam pertanyaan ini:

  • GROUP_CONCAT(dish_id) menggabungkan ID hidangan menjadi satu rentetan, dipisahkan dengan koma dan memberikannya kepada alias dish_ids.
  • GROUP_CONCAT(dish_name) menggabungkan nama hidangan secara serupa.

Klausa GROUP BY mengelompokkan hasil mengikut meal_Id, memastikan nilai yang dipisahkan koma dikumpulkan mengikut setiap hidangan .

Output pertanyaan ini akan menjadi jadual dengan tiga lajur:

  • meal_Id: ID hidangan.
  • dish_id: Senarai ID hidangan yang dipisahkan koma yang dikaitkan dengan hidangan.
  • dish_name: Koma -senarai berasingan nama hidangan yang dikaitkan dengan hidangan.

Ini akan memberikan anda hasil yang diingini, di mana setiap hidangan mempunyai ID dan nama hidangan masing-masing dalam rentetan yang dipisahkan koma.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID dan Nama Hidangan Dipisahkan Koma untuk Setiap Hidangan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn