Ciao fantasma,
così, a botta secca, direi: perché non fai tante belle query? Tanto si tratta di farlo una volta a settimana...
Innesti due loop: uno sulle ore e uno sulle sale, fai la query relativa sulla relazione e il risultato lo stampi nella cella.
Sicuramente è poco elegante, specie perché richiede 6x7=42 query, ma se salvi il risultato in cache, direi che dovrebbe andare bene.
Per quanto concerne le celle multi riga, ti devi fare due conti prima di impostare la tabella html, ma anche qui non dovresti trovare porblemi perché la condizione è chiara (relazione=const).
Se hai dubbi, fischia pure!