Bergabung dengan tabel itu sendiri , menggunakan parent
kolom untuk ditautkan ke cat_id induknya.
SELECT c1.cat_id as childID, c1.cat_name ChildName, c2.cat_name as ParentName
from category c1
LEFT OUTER JOIN category c2
ON c1.parent = c2.cat_id
- Hati-hati:karena beberapa elemen tidak memiliki induk (
NULL
), saya beri tandaLEFT OUTER JOIN
jadi baris-baris itu juga ditampilkan. Jika Anda tidak menginginkannya, gunakanJOIN
bukannyaLEFT OUTER JOIN
. - Anda juga dapat menampilkan garis, tetapi menampilkan sesuatu yang lain (kosong atau teks atau ...) sebagai ganti
NULL
dengan menggunakanCOALESCE
. - Anda dapat menganggap hasilnya sebagai satu tabel baru (besar), sehingga Anda dapat menambahkan klausa WHERE seperti biasanya, misalnya memfilter nama induk:
WHERE c2.cat_name = 'test2'