Jika kumpulan bersarang bukan merupakan opsi, saya mengetahui hal berikut:
- Jika data diurutkan sehingga turunan dari induk selalu mengikuti setelah induknya, Anda dapat menyelesaikannya dengan satu kueri basis data untuk semua data dengan melewatkan simpul tersembunyi di keluaran.
Ini juga berfungsi sama dengan kumpulan bersarang yang diurutkan, prinsipnya telah diuraikan dalam jawaban ini namun algoritme tentang mendapatkan kedalaman tidak berfungsi dan saya akan menyarankan iterator rekursif yang mampu menghapus item tersembunyi.
Juga jika data tidak diurutkan, Anda dapat membuat struktur pohon dari kueri (tidak diurutkan) dari semua baris seperti yang diuraikan dalam jawaban untuk Array bersarang. Level ketiga menghilang
. Tidak diperlukan rekursi dan Anda mendapatkan struktur yang dapat Anda hasilkan dengan mudah, saya seharusnya sudah membahasnya untuk <ul>/<li>
keluaran gaya html di jawaban lain juga.
- Jawaban untuk Bagaimana cara mengonversi serangkaian hubungan induk-anak menjadi hierarki hierarki ?
- Jawaban untuk Bagaimana cara mendapatkan daftar HTML bersarang dari recordset array objek?