Consulta en Access con 3 tablas

lcanal
15 de Enero del 2004
Hola a [email protected]:
Os expongo el problema (Access)
Tengo una tabla de facturas, que entre otros lleva un campo que es código de cliente. Existen 2 tipos de clientes, los 'normales' que toman los datos de la tabla de clientes y los 'Contados' que toma los datos de la tabla de ClientesVarios. Cuando en la factura el código de cliente es 99999 indica que es de ClientesVarios.
Se trata de hacer un informe ordenado por número de factura en la que aparezca el número, el código del cliente, el nombre y el importe.
las tablas serían más o menos asi:
FACTURAS
Numero -> 6 caracteres
CodigoCliente -> 5 caracteres
Importe -> Double
CLIENTES
Codigo -> 5 caracteres
Nombre -> 50 caracteres
CLIENTESVARIOS
Codigo -> 6 caracteres (es el número de factura)
Nombre -> 50 Caracteres.

Agradeciendo de antemano vuestra ayuda recibid un saludo

lcanal
15 de Enero del 2004
Hola a [email protected]:
Ya he encontrado la solución. La comparto con vosotros por si alguien tiene el mismo problema.

SELECT CabeceraFactura.FraSerie, CabeceraFactura.FraNumero, CabeceraFactura.FraFecha, CabeceraFactura.FraCliente, Clientes.Nombre
FROM Clientes INNER JOIN CabeceraFactura ON Clientes.Codigo = CabeceraFactura.FraCliente WHERE CabeceraFactura.FraCliente <> '99999'
UNION SELECT CabeceraFactura.FraSerie, CabeceraFactura.FraNumero, CabeceraFactura.FraFecha, CabeceraFactura.FraCliente, ClientesVarios.CliVarNombre
FROM CabeceraFactura INNER JOIN ClientesVarios ON (CabeceraFactura.FraNumero = ClientesVarios.CliVarFraNumero) AND (CabeceraFactura.FraSerie = ClientesVarios.CliVarSerie);

Un saludo