Bueno aver si me pueden ayudar tengo que sacar una conulta de 3 tablas en access las cuales son vendedor,vehiculo y vale.
El vehiculo tiene a un vendedor y muchos o ningun vale el cuantuiene un dato que necesito que es el kilometraje del vehiculo pero si esta con status cancelado me debe de devolver nada ademas el vala de donde saco el kilometraje debde ser el ultimo que se ingreso al sistema lo estaba haciendo asi:
select vehiculo.idvehiculo,vendedor.nomvendedor,vehiculo. modelo,vehiculo.noeconomico,vale.kilometraje from (vehiculo inner join vendedor on(vehiculo.idvendedor=vendedor.idvendedor)) left join vale on(vehiculo.idvehiculo=vale.idvehiculo) where exists(select max(vale.fecha) from vale right join vehiculo on(vale.idvehiculo=vehiculo.idvehiculo) where vale.status <> 'Cancelado' group by vehiculo.idvehiculo)
Pero me regresa un vehiculo con kilometraje el cual esta en un vale que ya esta cancelado por lo cual no debe de poner kilometraje
puse el exists debido a que si no lo pongo solo me regresa un registro de un vendedor.
Ejemplo Tabla vendedor
idnevdedor nomvendedor
1 juan
2 jose
3 pedro
4 Victor
Tabla vehiculo
idvehiculo idvendedor modelo noeconomico
1 1 2003 1
2 2 2004 2
3 3 2004 3
4 4 2005 4
Tabla Vale
idvale idvehiculo fecha kilometraje status
1 1 1/11/2004 1000
2 1 2/11/2004 1500
3 1 3/11/2004 2000
4 1 4/11/2004 2500 Cancelado
5 2 5/11/2004 6000 Cancelado
6 3 6/11/2004 7000
La consulta debe de arrojar:
idvehiculo nomvendedor modelo noeconomico kilometraje
1 juan 2003 1 2000
2 jose 2004 2
3 pedro 2004 3 7000
4 Victor 2005 4
En la consulta aparece el 4 aunque no tenga vales, y si esta cancelado debe de aparecer el kilometraje del vale anterior que no este cancelado.
Espero que me entiendan.
Saludos