Bueno, no tengo mucho tiempo para hacer el SQL pero la idea es mas o menos la siguiente:
Hay una funcion en MYSQL para saber dada una fecha que numero del dia de la semana es:
DAYOFWEEK(date)
Retorna el índice del día de la semana para date (1 = domingo, 2 = lunes, ..., 7 = sábado). Estos valores del índice se corresponden con el estándar ODBC.
Te recomiendo visitar siempre la documentacion de MySQL te puede orientar bastante siempre.
http://dev.mysql.com/doc/refman/5.0/...functions.html
Lo otro es que debes hacer una consulta para cada dia de la semana, una para el lunes, otra para el martes, etc. cada una en una columna aparte. Para eso puedes hacer consultas anidadas SELECT (SELECT XX.....) AS Lunes, (SELECT YY.....) AS Martes. Desde que puedas hacerlo para un dia, puedes hacerlo para os demas.
ESO o puedes sencillamente agregar una columna adicional que de diga el dia de la semana, y con el lenguaje de programacion construyes la tabla teniendo en cuenta ese dato.
Tambien creo, que la consulta deberia ser de la ultima semana, ya que con las columnas mostradas (que solo indican dias de la semana sin fechas) creo que no tiene sentido saber si el lunes de hace 2 meses antes habia una habitacion ocupada, eso seria un reporte diferente.
Espero te sirva de algo