Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris menjadi Nilai Tunggal dalam Pertanyaan Akses MS?

Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris menjadi Nilai Tunggal dalam Pertanyaan Akses MS?

Linda Hamilton
Linda Hamiltonasal
2025-01-07 21:17:44513semak imbas

How Can I Concatenate Multiple Rows into a Single Value in an MS Access Query?

Menggabungkan Berbilang Baris menjadi Nilai Tunggal dalam Pertanyaan MS Access

Panduan ini menunjukkan dua kaedah untuk menggabungkan berbilang baris menjadi satu nilai dalam pertanyaan MS Access, berdasarkan medan yang dikongsi. Kaedah menggunakan sama ada fungsi tersuai atau fungsi agregat terbina dalam.

Kaedah 1: Menggunakan Fungsi Tersuai (GetList)

Pendekatan ini memerlukan mencipta fungsi VBA. Pertanyaan kemudiannya memanggil fungsi ini untuk melaksanakan penggabungan.

Berikut ialah struktur pertanyaan:

<code class="language-sql">SELECT ColumnA, GetList("SELECT ColumnB FROM Table1 WHERE ColumnA = " & [ColumnA], "", ", ") AS ColumnB
FROM Table1
GROUP BY ColumnA;</code>

Fungsi GetList (ditakrifkan dalam modul VBA) berulang melalui baris yang berkongsi nilai ColumnA yang sama dan menggabungkan nilai ColumnB yang sepadan, menggunakan koma sebagai pembatas. Anda boleh menukar pembatas ini dengan mudah.

Kaedah 2: Menggunakan Fungsi Agregat Senarai Terbina dalam

Kaedah ini memanfaatkan fungsi List terbina dalam untuk penyelesaian yang lebih ringkas dan bebas kod.

Pertanyaan ialah:

<code class="language-sql">SELECT ColumnA, List(ColumnB) AS ColumnB
FROM Table1
GROUP BY ColumnA;</code>

Fungsi List secara automatik menggabungkan nilai ColumnB untuk setiap nilai ColumnA unik. Ambil perhatian bahawa pembatas yang digunakan oleh List mungkin berbeza-beza bergantung pada tetapan Akses anda.

Data Ilustrasi dan Keputusan

Pertimbangkan data sampel ini:

ColumnA ColumnB
1 abc
1 pqr
1 xyz
2 efg
2 hij
3 asd

Kedua-dua kaedah akan menghasilkan keputusan berikut:

ColumnA ColumnB
1 abc, pqr, xyz
2 efg, hij
3 asd

Menyesuaikan Pembatas

Laraskan pembatas dalam parameter fungsi GetList (Kaedah 1) atau berpotensi melalui tetapan serantau (Kaedah 2) untuk menggunakan pemisah yang berbeza (cth., koma bertitik, ruang).

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris menjadi Nilai Tunggal dalam Pertanyaan Akses MS?. 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