Sertai baris dalam pertanyaan MS Access
Pengenalan
Artikel ini meneroka cabaran yang dihadapi dalam Microsoft Access apabila cuba untuk menyertai nilai lajur kedua dalam jadual berdasarkan lajur pertama. Matlamat kami adalah untuk mencapai transformasi ini melalui pertanyaan.
Soalan
Pertimbangkan jadual yang mengandungi data berikut:
ColumnA | ColumnB |
---|---|
1 | abc |
1 | pqr |
1 | xyz |
2 | efg |
2 | hij |
3 | asd |
Matlamat kami adalah untuk menggabungkan nilai dalam LajurB menjadi rentetan dipisahkan koma tunggal untuk setiap nilai unik dalam LajurA. Hasil yang diinginkan adalah seperti berikut:
ColumnA | ColumnB |
---|---|
1 | abc, pqr, xyz |
2 | efg, hij |
3 | asd |
Penyelesaian
Untuk mencapai sambungan ini, kami menggunakan fungsi tersuai yang dipanggil "GetList". Fungsi ini menerima pertanyaan SQL sebagai parameter dan mengulangi set rekod yang dikembalikan oleh pertanyaan, menggabungkan nilai ke dalam satu rentetan.
Berikut ialah pertanyaan yang mengandungi fungsi "GetList":
<code class="language-sql">SELECT T.ColumnA, GetList("SELECT ColumnB FROM Table1 AS T1 WHERE T1.ColumnA = " & [T].[ColumnA],"",", ") AS ColumnBItems FROM Table1 AS T GROUP BY T.ColumnA;</code>
Penerangan
Pertanyaan luar (SELECT T.ColumnA) mendapatkan semula nilai unik dalam ColumnA.
Fungsi GetList digunakan untuk menggabungkan nilai dalam ColumnB berdasarkan nilai semasa ColumnA. Parameter fungsi GetList ialah:
GROUP BY klausa kumpulan merekodkan oleh ColumnA untuk memastikan bahawa nilai yang digabungkan dikumpulkan dengan betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Baris dalam MS Access Berdasarkan Lajur Pengumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!