estoy construyendo una aplicación en la que extraigo una serie de datos de una base de datos de access. Tengo todos los campos necesarios relacionados y funciona correctamente, pero aparece un error. El problema está en que algún "cliente" de la base de datos puede tener más de una "dirección", y en ese caso, aparecen dos líneas con los mismos datos pero una con cada dirección (en caso de que tuviese dos direcciones). ¿Cómo podría solucionarlo, para que solo apareciese una de las direcciones?
Esta es la sentencia SQL que utilizo:
Código:
Muchas gracias, un saludo. SELECT Series.[Fecha Fabricacion], Series.Fecha, Series.Codigo, Series.Unidades, Series.[Fecha Caducidad], Series.Descripcion, Articulos.Descripcion AS Expr1, Clientes.[Nombre Fiscal], Direcciones.[C Postal], Direcciones.Domicilio, Direcciones.Poblacion, [Lineas Facturacion].Agente, Series.Articulo, Articulos.Codigo AS Expr2, Series.ClienteProveedor, Clientes.Codigo AS Expr3, Clientes.contador, Direcciones.Cliente, Series.Tipo, [Lineas Facturacion].Tipo AS Expr4, Series.Numero, [Lineas Facturacion].Numero AS Expr5, Series.Linea, [Lineas Facturacion].Contador AS Expr6, Series.Serie, [Lineas Facturacion].Serie AS Expr7, Agentes.Nombre FROM (((((Series INNER JOIN Articulos ON Series.Articulo = Articulos.Codigo) INNER JOIN Clientes ON Series.ClienteProveedor = Clientes.Codigo) INNER JOIN Direcciones ON Clientes.contador = Direcciones.Cliente) INNER JOIN [Lineas Facturacion] ON Series.Tipo = [Lineas Facturacion].Tipo AND Series.Numero = [Lineas Facturacion].Numero AND Series.Linea = [Lineas Facturacion].Contador AND Series.Serie = [Lineas Facturacion].Serie) INNER JOIN Agentes ON [Lineas Facturacion].Agente = Agentes.Codigo) WHERE (Series.[Tipo Operacion] = 'S') AND (LEFT(Series.Articulo, 2) = '10') AND (Series.Fecha BETWEEN #12/30/2000# AND #12/31/2100#) ORDER BY Series.Fecha, Series.[Fecha Fabricacion]