Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Hubungan Satu-dengan-Banyak ke dalam Lajur Unik dalam Informix?

Bagaimana untuk Menggabungkan Hubungan Satu-dengan-Banyak ke dalam Lajur Unik dalam Informix?

Patricia Arquette
Lepaskan: 2025-01-01 11:22:10
asal
661 orang telah melayarinya

How to Concatenate One-to-Many Relationships into Unique Columns in Informix?

Sambungkan Perhubungan Satu-dengan-Banyak sebagai Lajur Unik dalam Informix

Menukar perhubungan satu-ke-banyak kepada dua lajur unik memerlukan pangkalan data khusus fungsi dan sintaks. Soalan ini meneroka cara untuk mencapai penukaran ini menggunakan Informix SQL, serupa dengan pendekatan yang diterangkan dalam soalan StackOverflow yang dirujuk.

Fungsi Agregat Ditakrifkan Pengguna

Penyelesaian yang dicadangkan melibatkan mencipta fungsi agregat yang ditentukan pengguna bernama group_concat. Fungsi ini menggunakan empat sub-fungsi:

  • gc_init: Memulakan rentetan kosong.
  • gc_iter: Secara berulang menambahkan nilai pada rentetan, dipisahkan dengan koma.
  • gc_comb : Menggabungkan hasil separa yang dijana daripada berbeza sekatan.
  • gc_fini: Mengembalikan rentetan gabungan terakhir.

Pertanyaan untuk Penggabungan

Untuk menggabungkan kod bagi setiap ID unik, jalankan pertanyaan berikut:

SELECT id, group_concat(codes)
FROM anonymous_table
GROUP BY id;
Salin selepas log masuk

Contoh Jadual dan Keputusan

Jadual contoh anonymous_table mengandungi kod pendua untuk berbilang ID. Output pertanyaan menghasilkan hasil yang diingini:

id    codes
63592 PELL
58640 SUBL, USBL
73571 PELL, USBL, SUBL
Salin selepas log masuk

Nota

  • Agregat group_concat boleh mengendalikan sebarang jenis data yang boleh ditukar kepada VARCHAR(255), seperti jenis angka dan temporal.
  • Saiz agregat adalah terhad kepada 2048 bait secara lalai (sehingga 16380 bait dalam Informix 12.10.FC5), menimbulkan potensi pengehadan untuk data yang luas.
  • Untuk mengalih keluar fungsi agregat, gunakan perintah drop yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Hubungan Satu-dengan-Banyak ke dalam Lajur Unik dalam Informix?. 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