เช่น
A [รหัส01] แนะนำ B [รหัส02] มา ด้านซ้าย B [รหัส02] จะอยู่ใต้ A [รหัส01] ด้านซ้าย
A [รหัส01] แนะนำ C [รหัส03] มา ด้านขวา B [รหัส02] จะอยู่ใต้ A [รหัส01] ด้านขวา
A [รหัส01] แนะนำ D [รหัส04] มา ด้านซ้าย D [รหัส04] จะอยู่ใต้ B [รหัส02] ด้านซ้าย
E [รหัส05] แนะนำ B [รหัส02] มา ด้านซ้าย E [รหัส05] จะอยู่ใต้ D [รหัส04] ด้านซ้าย
แล้วถ้า
A รหัส 01 จะแนะนำ คนที่ 7 มา อยู่ซ้ายมือ จะเขียนโปรแกรมอย่างไรให้รู้ว่า คนที่ 7 จะต้องไปอยู่ใต้ E รหัส 05 ดังภาพคะ
ถ้า select code form member where binaly_under='01' and binaly ='L' เราจะรู้ว่ามี B รหัส [รหัส02] อยู่ข้างใต้ แล้วก็จะหาต่อต่อไปเรื่อย ๆ จนรู้ว่า เป็น E รหัส 05 คนสุดท้ายของสายได้อย่างไรคะ
ต้องเปลี่ยนรูปแบบ DB ใหม่ตั้งแต่ต้น รูปแบบนี้จะคล้ายๆ Menu Tree หรือลองค้นหาใน google ก็ได้ครับว่า menu tree parent
id | parent_id | name
โดย parent_id relationship id ต่อไปเรื่อยๆ เช่น id | parent_id
1 | 0 // parent
2 | 0 // parent
3 | 1 // id 3 เป็นลูกของ id 1
4 | 3 // id 4 เป็นลูกของ id 3 => id 3 เป็นลูกของ id 1
5 | 2 // id 5 เป็นลูกของ id 2
6 | 4 // id 6 เป็นลูกของ id 4 => id 4 เป็นลูกของ id 3 => id 3 เป็นลูกของ id 1
ส่วนเรื่อง R/L ไม่จำเป็นในรูปแบบ Database นี้ เพราะ child สามารถซ้อนทับได้เท่าที่ต้องการ