Cita: En la tabla salon tengo un registro cod_salon = S1
y la tabla montaje igual cod_mtje = M1
Magnífico, pero en la tabla Presupuesto no veo que tengas un registro donde al mismo tiempo cod_salon = S1 y cod_mtje = M1. Si eso no se da... no devoverá registros...
¿Estás seguro de entender completamente cómo funciona un INNER JOIN?
No es que haya A, B, C, o D valores en diferentes registros. Es que
deben estar en el mismo registro.
Es un sólo presupuesto, vinculado a todo eso.