Lakukan saja penggabungan grup bersama dengan gabungan antara dua tabel:
SELECT
s.student_name AS Students,
GROUP_CONCAT(e.event_name) AS Events
FROM students s
LEFT JOIN events e
ON s.event_id = e.event_id
GROUP BY
s.student_name;
Perhatikan bahwa skema tabel Anda tampaknya tidak sepenuhnya dinormalisasi. Biasanya, cara untuk menangani masalah ini adalah dengan memiliki satu tabel untuk informasi siswa, satu tabel untuk acara, dan kemudian persimpangan tabel yang menghubungkan siswa dengan peristiwa. students
. Anda tabel tampaknya berfungsi sebagai tabel persimpangan dan sebagai tabel yang berisi informasi siswa yang unik.
Jadi cara yang lebih baik untuk melanjutkan di sini adalah dengan refactor students
berisi ini:
(1, 'student1'),
(2, 'student2'),
(3, 'student3');
Dan buat tabel persimpangan baru student_event
untuk memuat hubungan antara siswa dan peristiwa:
(id, student_id, event_id)
(1, 1, 1),
(2, 1, 2),
(3, 1, 3),
(4, 1, 4),
(5, 2, 3),
(6, 3, 2),
(7, 3, 4);