Cercando di semplificare, ho un'applicazione web in PHP+MySQL con due tabelle, dipendenti e orari in relazione uno a molti. In quest'ultima per ogni dipendente e per ogni giorno della settimana (da 1 a 7) ho gli orari di lavoro e il numero di ore da svolgere da contratto.

codice:
DIPENDENTI		ORARI
------------		------
id PK			id PK
cognome			id_dipendente chiave esterna
nome			numero_giorno
....			orario_entrata
			orario_uscita
			totale_ore
Mi serve una query che mi sommi, dipendente per dipendente, tutte le ore teoriche da svolgere in un periodo, ad esempio in una data precisa, un mese o un anno.
In pratica il risultato dovrebbe essere:

ANNO 2010:
dipendente 1 5000 ore
dipendente 2 2000 ore
--------------------------
TOTALE ore 7000 ore

Per fare questo tipo di query devo prendere tutti i giorni dell'anno (o di un lasso di tempo) e vedere dipendente per dipendente quante ore devono svolgere. Ovviamente non posso fare una semplice moltiplicazione perchè il risultato dipende dai giorni della settimana in cui l'anno inizia e finisce.
Devo creare una tabella per ogni anno, dove inserire tutti i giorni, oppure c'è un modo in MySQL per automatizzare questo tipo di operazione, senza creare nuove tabelle?
Ve lo chiedo perchè il database ha un'interfaccia web e quindi tramite un form è chi consulta la pagina a decidere il lasso di tempo in cui filtrare i dati.
Però cosa faccio se mi chiedono i dati di un anno di cui non ho ancora creato la tabella?
Potrei limitare gli anni creando un elenco a discesa con solo gli anni di cui ho le tabelle.
Oppure creare una store procedure (se è così che si chiama) che verifica se la tabella di quell'anno c'è e se non c'è me la crea.

Inoltre il totale finale lo posso anche calcolare via PHP sommando le ore dei singoli dipendenti man mano che scorro le righe per visualizzarle a schermo.

Forse mi frullano troppe idee per la testa... :master:

Grazie in anticipo a chi vorrà aiutarmi.