DELIMITER $$
$$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`getTaxBases`()
BEGIN
/**
*   Calcula y devuelve en número de bases imponibles postivas y negativas
*	Requiere la tabla temporal tmp.ticketToInvoice(id)
*
*	returns tmp.taxBases
*/

	CREATE OR REPLACE TEMPORARY TABLE tmp.ticket
		(KEY (ticketFk))
		ENGINE = MEMORY
		SELECT id ticketFk
			FROM tmp.ticketToInvoice;

	CALL ticket_getTax(NULL);

	DROP TEMPORARY TABLE IF EXISTS tmp.taxBases;
	CREATE TEMPORARY TABLE tmp.taxBases
		ENGINE = MEMORY
		SELECT
                SUM(taxableBase > 0) as positive,
				SUM(taxableBase < 0) as negative
			FROM(
				SELECT SUM(taxableBase) taxableBase
					FROM tmp.ticketTax
					GROUP BY pgcFk
				) t;

END$$
DELIMITER ;
