Ya di con la solucion, aunque no funcionara gracias a todos por vuestra ayuda, aqui os la dejo por si os sirve de algo, parece que va perfecto... :D
Cita: SELECT *
FROM locales l
INNER JOIN rel_locales_filtros rlf ON l.id = rlf.idl
INNER JOIN filtros f ON rlf.idf = f.id
WHERE rlf.idf
IN ( 1, 17, 24 )
GROUP BY l.id
HAVING count( DISTINCT rlf.idf ) =3
ORDER BY l.id DESC
LIMIT 0 , 30