Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyertai Jadual dengan Nilai Dipisahkan Koma dalam SQL?

Bagaimana untuk Menyertai Jadual dengan Nilai Dipisahkan Koma dalam SQL?

Mary-Kate Olsen
Lepaskan: 2024-12-14 04:32:14
asal
982 orang telah melayarinya

How to Join Tables with Comma-Separated Values in SQL?

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
Salin selepas log masuk

Penjelasan:

  • Fungsi GROUP_CONCAT digunakan untuk menggabungkan nilai lajur 'nama' daripada Jadual kedudukan untuk setiap baris dalam jadual Nota.
  • Klausa ORDER BY memastikan jabatan nama disusun mengikut ID mereka.
  • Fungsi FIND_IN_SET menyemak sama ada ID jabatan daripada jadual Kedudukan wujud dalam lajur 'forDepts' jadual Nota. Jika ya, baris yang sepadan disertakan dalam gabungan.
  • Klausa KUMPULAN OLEH menghimpunkan hasil mengikut lajur 'nid' dalam jadual Nota, dengan berkesan menggabungkan semua nama jabatan yang dikaitkan dengan setiap nota.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan