Sertai Dua Jadual dengan Nilai Dipisahkan Koma
Masalah:
Kami mempunyai dua jadual : Nota dan Kedudukan. Jadual Nota mengandungi lajur yang dipanggil 'forDepts' yang menyimpan ID jabatan yang dipisahkan koma. Kita perlu menyertai jadual ini dan mengaitkan nilai 'forDepts' dengan nama jabatan yang sepadan daripada jadual Positions.
Output yang Diingini:
nid | DepartmentName |
---|---|
1 | Executive, Corp Admin, Art |
2 | Art, Marketing |
Penyelesaian:
Memandangkan struktur pangkalan data tidak boleh diubah suai, kami akan menggunakan mengikuti pertanyaan SQL untuk mencapai output yang dikehendaki:
SELECT a.nid, GROUP_CONCAT(b.name ORDER BY b.id) DepartmentName FROM Notes a INNER JOIN Positions b ON FIND_IN_SET(b.id, a.forDepts) > 0 GROUP BY a.nid
Penjelasan:
Dengan melaksanakan pertanyaan ini, kita boleh mendapatkan output yang diingini, di mana nilai lajur 'forDepts' daripada jadual Nota adalah digantikan dengan nama jabatan yang dipisahkan koma yang sepadan daripada jadual Kedudukan. Ini akan memudahkan pengeksportan data ke dalam fail Excel menggunakan kod PHP yang disediakan.
Atas ialah kandungan terperinci Bagaimana untuk Menyertai Jadual dengan Nilai Dipisahkan Koma dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!