Sie müssen die zugehörige Firma mit ihrer Abteilung in jeder Zeile in der Datenbank hinterlegen. Da es keine implizite „Reihenfolge“ für Zeilen in der Datenbank gibt, gibt es für eine Zeile keine Möglichkeit, ihr Unternehmen genauso zu behandeln wie in der Zeile „vorher“ (es gibt keine Bedeutung für „vorher“).
Es lohnt sich nicht, den überflüssigen Firmennamen in den Zeilen einer Abfrageergebnismenge auszublenden. Lassen Sie sie einfach in jeder Zeile erscheinen, auch wenn es überflüssig aussieht.
Dann in Ihrer Anwendung, wenn Sie die Daten präsentieren, tun Sie haben Sie die Möglichkeit, sie der Reihe nach zu verarbeiten, während Sie sie anzeigen. Sie würden also so etwas tun (Pseudocode):
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