Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengekalkan Susunan Elemen Tatasusunan Apabila Menyertai Jadual dalam PostgreSQL?

Bagaimanakah Saya Boleh Mengekalkan Susunan Elemen Tatasusunan Apabila Menyertai Jadual dalam PostgreSQL?

Linda Hamilton
Linda Hamiltonasal
2024-12-25 21:09:19305semak imbas

How Can I Preserve Array Element Order When Joining Tables in PostgreSQL?

PostgreSQL Bercantum dengan Jenis Tatasusunan: Memesan Elemen Tatasusunan

Dalam PostgreSQL, selalunya perlu untuk menyertai jadual dengan lajur jenis tatasusunan. Walau bagaimanapun, apabila berurusan dengan jenis tatasusunan, mengekalkan susunan elemen boleh menjadi mencabar.

Masalah:

Matlamatnya adalah untuk mendapatkan semula data daripada jadual item dalam susunan daripada elemen dalam id_item lajur jenis tatasusunan daripada some_chosen_data_in_order jadual.

Percubaan:

Percubaan yang tidak berjaya termasuk menggunakan pendekatan JOIN dan subquery, yang gagal mengekalkan susunan elemen tatasusunan.

Penyelesaian:

Penyelesaian melibatkan penggunaan fungsi unnest(), yang mengembalikan elemen individu daripada tatasusunan. Dengan menggunakan LEFT JOIN dengan unnest() yang digunakan pada id_items, kita boleh mendapatkan item dalam susunan yang diingini.

Contoh:

SELECT t.*
FROM unnest(ARRAY[1,2,3,2,3,5]) item_id
LEFT JOIN items t on t.id=item_id

Pertanyaan ini akan memilih item daripada jadual item dengan id: 1,2,3,2,3,5, dalam susunan itu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Susunan Elemen Tatasusunan Apabila Menyertai Jadual dalam PostgreSQL?. 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