45 lines
789 B
SQL
45 lines
789 B
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`malpagantes`()
|
|
BEGIN
|
|
|
|
set @cliente := 0;
|
|
set @saldo := 0;
|
|
|
|
Select Id_Cliente, Cliente from
|
|
Clientes
|
|
join
|
|
(select distinct Id_Cliente
|
|
from Facturas
|
|
where Fecha > '2015-01-01') cli using(Id_Cliente)
|
|
left join
|
|
(
|
|
select distinct Id_Cliente
|
|
from
|
|
(
|
|
select Fecha
|
|
, @saldo := IF(@cliente = Id_Cliente, @saldo + Importe, Importe) Saldo
|
|
, @cliente := Id_Cliente as Id_Cliente
|
|
from
|
|
(
|
|
select Id_Cliente, Fecha, Importe from
|
|
|
|
(
|
|
select Id_Cliente, -1 * Importe Importe, Fecha
|
|
from Facturas
|
|
union all
|
|
select Id_Cliente, Entregado, Fechacobro
|
|
from Recibos
|
|
) sub
|
|
order by Id_Cliente, Fecha
|
|
) sub2
|
|
) sub3
|
|
where Saldo > -1
|
|
and Fecha > '2015-01-01'
|
|
|
|
) sub4 using(Id_Cliente)
|
|
where sub4.Id_Cliente is null;
|
|
|
|
|
|
END$$
|
|
DELIMITER ;
|