Você deve armazenar a empresa associada com seu departamento em cada linha do banco de dados. Como não existe "ordem" implícita para linhas no banco de dados, não há como uma linha tratar sua empresa da mesma forma que na linha "antes" (não há significado para "antes").
Não vale a pena deixar em branco o nome da empresa redundante nas linhas de um conjunto de resultados de consulta. Apenas deixe-os aparecer em todas as linhas, mesmo que pareça redundante.
Então, em seu aplicativo, ao apresentar os dados, você faz têm a oportunidade de processá-los em ordem conforme você os exibe. Então você faria algo assim (pseudocódigo):
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