Pienso que el Tipo no tiene que ver directamente con la reserva, ya que Tipo es un atributo de la tabla Peliculas.
La condicion para hacer una reserva debe ser el stock disponible de acuerdo a lo seleccionado por el cliente.
Algo asi:
Código SQL:
Ver originalSELECT pe.*
FROM peliculas pe
INNER JOIN (
SELECT id, COUNT(1) total FROM reservas GROUP BY id
) pe.id = re.id
WHERE pe.tipo = 'Adulto'
AND pe.stock > re.total