Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris menjadi Nilai Tunggal dalam Pertanyaan Akses MS?
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!