SET NAMES 'utf8'; SELECT YEAR(dv.fecha) AS year, f.id_formapago AS id_formapago, f.descripcion AS formapago, dv.id_documento AS factura, SUM(dvi.valor) AS valor, SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS peso FROM documento_ventas dv JOIN documento_ventas_has_item dvi ON ( dv.id_documento=dvi.id_documento AND dv.id_sucursal=dvi.id_sucursal ) JOIN item i ON ( dvi.id_item=i.id_item ) LEFT JOIN linea l ON ( l.id_linea = i.id_linea AND l.tipo= i.tipo ) LEFT JOIN formapago_documento fd ON ( fd.id_documento=dv.id_documento AND fd.id_sucursal=dv.id_sucursal ) LEFT JOIN forma_pago f ON ( f.id_formapago=fd.id_formapago ) GROUP BY year, factura, id_formapago HAVING year = 2020