หลักการ
1. ยึดคีย์เป็นหลัก (หรืออะไรก็ได้ที่ยึดได้) แล้วจัดเรียงข้อมูล
2. วนลูปอ่านตั้งแต่ระเบียนแรกไปจนระเบียนสุดท้าย (First row to Last row)
ผมใช้ Dbase/FoxPro ยกให้ดูเป็นดัวอย่าง Code
select * from yourTable order by branch_id asc into cursor Temp2 readwrite
select Temp2 // เล่นกับ Cursor
go top // ไประเบียนแรกสุด (First row)
store 0 to tmpID // เก็บ Branch_id เข้าตัวแปร tmpID
do while not eof()
if Branch_id <> tmpID then // ตัวยึด (Anchor)
TmpID = Temp2.Branch_id
else
replace Temp2.Branch_name with "---"
endif
skip 1 // เลื่อนไปข้างหน้าทีละระเบียน (Move next)
enddo
ปล. สังเกตุว่า มันคือ หัวใจของ Store Procedure ของทุกฯ RDBMS นั่นแหละ