USE `vn`;
DROP procedure IF EXISTS `ticketGetFullList`;

DELIMITER $$
USE `vn`$$
CREATE DEFINER=`root`@`%` PROCEDURE `ticketGetFullList`()
BEGIN
/**
 * Obtiene un listado de tickets 
 * junto con el precio total y los problemas
 * 
 * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular
 * @return Listado de tickets
 */
	CALL ticketGetTotal();
    CALL ticketGetProblems();
    
    DROP TEMPORARY TABLE IF EXISTS tmp.ticketFullList;
    CREATE TEMPORARY TABLE tmp.ticketFullList ENGINE = MEMORY
    SELECT t.*, tt.total, tp.problem
		FROM tmp.ticket t
        JOIN tmp.ticketTotal tt ON tt.ticketFk = t.ticketFk
        LEFT JOIN tmp.ticketProblems tp ON tp.ticketFk = t.ticketFk;

    DROP TEMPORARY TABLE 
        tmp.ticket, 
        tmp.ticketTotal, 
        tmp.ticketProblems;
END$$

DELIMITER ;

