SELECT * FROM ( SELECT i.intrastatFk code, it.description, CAST(SUM(ROUND((s.quantity * s.price * (100 - s.discount) / 100 ) , 2))AS DECIMAL(10, 2)) subtotal, SUM(IFNULL(i.stems, 1) * s.quantity) stems, CAST(SUM(IFNULL(i.stems, 1) * s.quantity * IF(ic.grams, ic.grams, IFNULL(i.weightByPiece, 0)) / 1000) * IF(sub.totalWeight, sub.totalWeight / vn.invoiceOut_getWeight(?), 1) AS DECIMAL(10,2)) netKg FROM sale s JOIN ticket t ON s.ticketFk = t.id JOIN supplier su ON su.id = t.companyFk JOIN item i ON i.id = s.itemFk JOIN intrastat it ON it.id = i.intrastatFk LEFT JOIN itemCost ic ON ic.itemFk = i.id AND ic.warehouseFk = t.warehouseFk LEFT JOIN ( SELECT SUM(weight)totalWeight FROM vn.ticket WHERE refFk = ? AND weight ) sub ON TRUE WHERE t.refFk =? GROUP BY i.intrastatFk UNION ALL SELECT NULL , IF((SUM((ts.quantity * ts.price))), 'Servicios', NULL), IFNULL(CAST(SUM((ts.quantity * ts.price)) AS DECIMAL(10,2)), 0), 0 , 0 FROM vn.ticketService ts JOIN vn.ticket t ON ts.ticketFk = t.id WHERE t.refFk = ? ) sub2 WHERE `description` IS NOT NULL;