Hola.
Creo que tu problema se puede resolver con la siguiente consulta:
select if(total>1,Nomproducto,'') as NomProducto,if(total<1,Nomproducto,'') as ConceptoHaber,fecha,if(total>1,total,0) as Debe,if(total<1,total,0) as Haber from (select cliente,NomProducto,fecha,total from debe,servicios where debe.IDproducto=servicios.Idproducto and cliente=1 union select cliente,concepto,fecha,(-total) from haber where cliente = 1 order by fecha) as consulta;
Y para ir obteniendo el saldo te creas un campo calculado y con la ayuda de una variable lo vas calculando.
A mi me funcionó con D7 y MySQL Versión 4.1.8 (admite subconsultas)
Ten especial cuidado con:
- que el campo total de la base de datos debe y haber pueda tener signo
- en 'select .... union select ....' mantén el mismo orden de los campos que quieres seleccionar.
- revisa los nombres de los campos y bases de datos en la consulta, puede que yo haya utilizado otros a los tuyos.
Espero que te sirva.
Saludos, Antonio.
__________________
TonyG
|