Quisiera pedir de su ayuda ya que soy nuevo con esto de mysql
Tengo una base de datos de la siguiente forma
Tabla clientes
folioCliente PK
nombre etc....
tabla pedidos
idPedido PK
folioCliente FK
...
tabla pediFact
id PK
idPedido FK
numeroFactura FK
importePedido ...
tabla facturas
numeroFactura PK
desc ....
tabla factuPago
id PK
numeroFactura FK
folioPago FK
tabla pagos
folioPago PK
desc...
como pueden ver un cliente puede tener muchos pedidos un pedido puede tener una o mas facturas y de igual modo con los pagos
Lo que necesito es extraer los clientes con sus respectivos adeudos y ordenarlos del mayor al menor
Lo que tengo es:
extraigo todos los clientes ordenados
Código SQL:
Ver original
SELECT folioCliente, nombreCliente, nombreEmpresa FROM clientes ORDER BY nombreCliente ASC
Con php obtengo los resultados con un while y realizo las siguientes consultas
Sumatoria de todas las facturas pendiente de pago
Código MySQL:
Ver original
Sumatoria de precios de pedido que estan sin facturar
Código SQL:
Ver original
SELECT SUM(precioPedido) FROM pedidos WHERE statusPedido = 'SF' AND folioCliente = 'folioCliente'
Sumatoria de precio de pedido que estan facturados parcial
Código SQL:
Ver original
SELECT SUM(precioPedido) FROM pedidos WHERE statusPedido = 'FP' AND folioCliente = 'folioCliente'
Sumatoria de todos los importes de los pedidos que estan facturados parcialmente
Código SQL:
Ver original
SELECT SUM(importePedido) FROM pediFact pf INNER JOIN pedidos p ON pf.idPedido=p.idPedido WHERE p.statusPedido = 'FP' AND folioCLiente = 'folioCliente'
Y con la información extraida de estas consultas puedo extraer el pendiente por cobrar por cada cliente, solo que no puedo ordenarla de mayor a menor
Hay alguna otra forma mas sencilla para extraer está información que no haga tantas consultas a la BD????
Intente sumar el precio de pedido por cada cliente con inner join entre todas las tablas pero no obtengo el mismo resultado que si lo hago individual por cada cliente esta fue mi consulta
Código MySQL:
Ver original
GROUP BY c.nombreCliente;
Agradezco su ayuda ya que mis conocimientos con mysql son muy basicos.
GRACIAS!