CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `srt`.`bufferFreeLength` AS SELECT cast(`b`.`id` AS decimal(10, 0)) AS `bufferFk`, `b`.`code` AS `bufferName`, cast( `b`.`length` - sum(IFNULL(`e`.`length`, 900) + 500) AS decimal(10, 0) ) AS `freeLength`, cast( sum(IFNULL(`e`.`length`, 900) + 500) AS decimal(10, 0) ) AS `saturacion`, `bs`.`description` AS `state`, `b`.`stateFk` AS `stateFk`, `b`.`typeFk` AS `typeFk`, `bt`.`typeName` AS `typeName`, COUNT(`e`.`id`) AS `stock`, cast( `b`.`length` - sum( IF( `es`.`description` = 'STORED', `e`.`length` + 500, 0 ) ) AS decimal(10, 0) ) AS `RealFreeLength` FROM ( ( ( ( `srt`.`buffer` `b` LEFT JOIN `srt`.`expedition` `e` ON(`e`.`bufferFk` = `b`.`id`) ) LEFT JOIN `srt`.`expeditionState` `es` ON(`es`.`id` = `e`.`stateFk`) ) JOIN `srt`.`bufferType` `bt` ON(`bt`.`id` = `b`.`typeFk`) ) JOIN `srt`.`bufferState` `bs` ON(`bs`.`id` = `b`.`stateFk`) ) GROUP BY `b`.`id`