Esto no es MySQL, sino Postgress. Haz la consulta en el foro de Postgress. No obstante, intenta aclarar lo que necesitas. La consulta es SQL, y por eso te respondo lo siguiente: Si tienes tres tablas relacionadas, programa, esquemaprograma, simulaciones, y esquemaprogrema y simulaciones están relacionadas con programa, y luego añades un filtro con un dato de profolio que necesariamente no aparecerá en las tablas esquemaprograma y simulaciones solo obtendras el listado de programas que tengan una simulacion y un esquema. Pero quieres que el filtro obtenga resultado cuando aparezca una, otra, ambas o ninguna, para eso es mejor empezar por los programas, que sí estarán todos, y unir mediante LEFT JOIN, y luego buscar en esa tabla el profolio. Naturalmente, habrá ocasiones en que haya simulaciones, otras en que haya esquemas de ese programa, y alguna en que no haya nada y te aparezcan NULL. Mediante el control de los null, puedes buscar aquellos de lo que hay una, otra, o ambas.