45 lines
789 B
MySQL
45 lines
789 B
MySQL
|
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 ;
|