Bạn phải lưu trữ công ty liên kết với bộ phận của nó trên mọi hàng trong cơ sở dữ liệu. Vì không có thứ gọi là "thứ tự" ngầm định đối với các hàng trong cơ sở dữ liệu, không có cách nào để một hàng đối xử với công ty của nó giống như trên hàng "trước đây" (không có nghĩa là "trước đây").
Không đáng để bạn gặp khó khăn khi bỏ trống tên công ty thừa trên các hàng của tập hợp kết quả truy vấn. Chỉ để chúng xuất hiện trên mọi hàng mặc dù nó có vẻ thừa.
Sau đó, trong ứng dụng của bạn, khi bạn trình bày dữ liệu, bạn thực hiện có cơ hội xử lý chúng theo thứ tự khi bạn hiển thị chúng. Vì vậy, bạn sẽ làm một cái gì đó như thế này (mã giả):
query 'SELECT Company, Department FROM MyTable ORDER BY Company, Department'
prev_company = ''
while row = fetch
do
if row.company == prev_company
display ''
else
display row.company
prev_company = row.company
display row.department
done