Hola kirianky:
No termino de entender cómo tienes organizada tu información... creo que debiste de haber comenzado por ahi, pero tratando de jugar al adivino, creo que tendrías algo como esto:
Código MySQL:
Ver original+----------------+----------+
| id_instalacion | cantidad |
+----------------+----------+
| 1 | 10 |
| 2 | 8 |
| 3 | 7 |
| 4 | 5 |
+----------------+----------+
+----------------+---------------+--------------+
| id_instalacion | fecha_entrada | fecha_salida |
+----------------+---------------+--------------+
| 1 | 2013-01-25 | 2013-01-25 |
| 1 | 2013-01-25 | 2013-01-25 |
| 2 | 2013-01-25 | 2013-01-25 |
| 2 | 2013-01-25 | 2013-01-25 |
| 3 | 2013-01-25 | 2013-01-25 |
| 3 | 2013-01-25 | 2013-01-25 |
| 3 | 2013-01-25 | 2013-01-25 |
+----------------+---------------+--------------+
Suponiendo que en tu tabla de instalaciones tengas sólo una entrada para cada id_instalación, y en tu tabla reservas tienes que contar primero, entonces podrías hacerlo asi:
Código MySQL:
Ver originalmysql
> SELECT T1.id_instalacion
, -> T1.cantidad
- IFNULL(T2.reservadas
, 0) disponibles
-> ( SELECT id_instalacion
, COUNT(id_instalacion
) reservadas
-> fecha_salida
BETWEEN '2013-01-25' AND '2013-01-27' -> GROUP BY id_instalacion
) T2
ON T1.id_instalacion
= T2.id_instalacion
; +----------------+-------------+
| id_instalacion | disponibles |
+----------------+-------------+
| 1 | 8 |
| 2 | 6 |
| 3 | 4 |
| 4 | 5 |
+----------------+-------------+
Dale un vistazo y si continuas con problemas lo comentas en el foro
Saludos
Leo.