Consulta MySQL devuelve datos duplicados por JOIN
Publicado por dgmegias (1 intervención) el 28/07/2016 02:13:20
Un cordial saludo a todos.
Tengo una consulta en MySQL y he descubierto que me duplica registros al ejecutarla....la consulta se basa en obtener datos de tres tablas......
Cabe_Facturas
Line_Facturas
Articulos
He comprobado que eliminando la unión y los campos de la tabla Articulos los registros no se duplican pero pierdo información que necesito......alguien podría indicarme como solventarlo ?
Tengo una consulta en MySQL y he descubierto que me duplica registros al ejecutarla....la consulta se basa en obtener datos de tres tablas......
Cabe_Facturas
Line_Facturas
Articulos
He comprobado que eliminando la unión y los campos de la tabla Articulos los registros no se duplican pero pierdo información que necesito......alguien podría indicarme como solventarlo ?
1
2
3
4
5
6
7
CREATE DEFINER=`root`@`localhost` PROCEDURE `Consulta dvsoftware_cabe_facturas Cabecera y Lineas VENTAS`(IN ejer1 Int, IN ejer2 Int,IN alb1 Int, IN alb2 Int, IN falb1 date, IN falb2 date,IN cli1 Int, IN cli2 Int,IN vend1 Int, IN vend2 Int,IN prov1 Int, IN prov2 Int, IN art1 Int,IN art2 Int)
BEGIN
SELECT dvsoftware_cabe_facturas.ejercicio, dvsoftware_cabe_facturas.albaran, dvsoftware_cabe_facturas.fecha_albaran, dvsoftware_cabe_facturas.cliente, dvsoftware_cabe_facturas.vendedor, dvsoftware_cabe_facturas.nvendedor, dvsoftware_articulos.cod_proveedor, dvsoftware_proveedores.nombre AS nproveedor, dvsoftware_cabe_facturas.forma_de_pago, dvsoftware_cabe_facturas.nforma_de_pago, dvsoftware_cabe_facturas.sucursal, dvsoftware_cabe_facturas.nsucursal, dvsoftware_cabe_facturas.tipo_venta, dvsoftware_cabe_facturas.ntipo_venta, dvsoftware_cabe_facturas.almacen, dvsoftware_cabe_facturas.añadida, dvsoftware_cabe_facturas.tipo_impuesto, dvsoftware_cabe_facturas.numero_precio, dvsoftware_cabe_facturas.tipo_factura, dvsoftware_cabe_facturas.sureferencia, dvsoftware_cabe_facturas.factura, dvsoftware_cabe_facturas.ejerfactu, dvsoftware_cabe_facturas.fecha_factura, dvsoftware_cabe_facturas.impresa, dvsoftware_cabe_facturas.total_bruto, dvsoftware_cabe_facturas.texto_dto_1, dvsoftware_cabe_facturas.dto_1, dvsoftware_cabe_facturas.total_dto1, dvsoftware_cabe_facturas.total_impuestos, dvsoftware_cabe_facturas.texto_dto_2, dvsoftware_cabe_facturas.dto_2, dvsoftware_cabe_facturas.total_dto2, dvsoftware_cabe_facturas.total_neto, dvsoftware_cabe_facturas.descuento_manual, dvsoftware_cabe_facturas.total_descuentos, dvsoftware_cabe_facturas.texto_cargo, dvsoftware_cabe_facturas.cargo, dvsoftware_cabe_facturas.total_cargos, dvsoftware_cabe_facturas.recargo, dvsoftware_cabe_facturas.nombre, dvsoftware_cabe_facturas.propietario, dvsoftware_clientes.razon_comercial, dvsoftware_cabe_facturas.domicilio, dvsoftware_cabe_facturas.postal, dvsoftware_cabe_facturas.poblacion, dvsoftware_cabe_facturas.provincia, dvsoftware_cabe_facturas.dni, dvsoftware_cabe_facturas.telefono1, dvsoftware_cabe_facturas.telefono2, dvsoftware_cabe_facturas.observaciones1, dvsoftware_cabe_facturas.observaciones2, dvsoftware_cabe_facturas.base1, dvsoftware_cabe_facturas.igic1, dvsoftware_cabe_facturas.cuota1, dvsoftware_cabe_facturas.porc_rcgo1, dvsoftware_cabe_facturas.recargo1, dvsoftware_cabe_facturas.base2, dvsoftware_cabe_facturas.igic2, dvsoftware_cabe_facturas.cuota2, dvsoftware_cabe_facturas.porc_rcgo2, dvsoftware_cabe_facturas.recargo2, dvsoftware_cabe_facturas.base3, dvsoftware_cabe_facturas.igic3, dvsoftware_cabe_facturas.cuota3, dvsoftware_cabe_facturas.porc_rcgo3, dvsoftware_cabe_facturas.recargo3, dvsoftware_line_facturas.linea, dvsoftware_articulos.Id, dvsoftware_line_facturas.articulo, dvsoftware_line_facturas.denominacion, dvsoftware_line_facturas.bultos, dvsoftware_line_facturas.formato, dvsoftware_articulos.unidadesxbulto, dvsoftware_articulos.unidades, dvsoftware_line_facturas.cantidad, dvsoftware_line_facturas.precio, dvsoftware_line_facturas.dto1, dvsoftware_line_facturas.dto2, dvsoftware_line_facturas.importe_b, dvsoftware_line_facturas.impuesto, dvsoftware_line_facturas.cuota, dvsoftware_line_facturas.importe_n, dvsoftware_line_facturas.grabada
FROM (((dvsoftware_cabe_facturas LEFT JOIN dvsoftware_line_facturas ON (dvsoftware_cabe_facturas.ejercicio = dvsoftware_line_facturas.ejercicio) AND (dvsoftware_cabe_facturas.albaran = dvsoftware_line_facturas.albaran) AND (dvsoftware_cabe_facturas.fecha_albaran = dvsoftware_line_facturas.fecha_albaran)) LEFT JOIN dvsoftware_clientes ON dvsoftware_cabe_facturas.cliente = dvsoftware_clientes.codigo) LEFT JOIN dvsoftware_articulos ON dvsoftware_line_facturas.articulo = dvsoftware_articulos.codigo) LEFT JOIN dvsoftware_proveedores ON dvsoftware_articulos.cod_proveedor = dvsoftware_proveedores.codigo
WHERE (((dvsoftware_cabe_facturas.ejercicio)>=ejer1 And (dvsoftware_cabe_facturas.ejercicio)<=ejer2) AND ((dvsoftware_cabe_facturas.albaran)>=alb1 And (dvsoftware_cabe_facturas.albaran)<=alb2) AND ((dvsoftware_cabe_facturas.fecha_albaran)>=falb1 And (dvsoftware_cabe_facturas.fecha_albaran)<=falb2) AND ((dvsoftware_cabe_facturas.cliente)>=cli1 And (dvsoftware_cabe_facturas.cliente)<=cli2) AND ((dvsoftware_cabe_facturas.vendedor)>=vend1 And (dvsoftware_cabe_facturas.vendedor)<=vend2) AND ((dvsoftware_articulos.cod_proveedor)>=prov1 And (dvsoftware_articulos.cod_proveedor)<=prov2) AND ((dvsoftware_articulos.Id)>=art1 And (dvsoftware_articulos.Id)<=art2));
END
Valora esta pregunta


0