Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Sql para reporte de facturas (https://www.clubdelphi.com/foros/showthread.php?t=50918)

Petolansa 01-12-2007 23:04:43

Sql para reporte de facturas
 
Buenas gente, estoy utilizando la siguiente sentencia para un reporte de ventas por cliente, o sea que me muestre las facturas segun el cliente que elija.
Pero por ejemplo cuando el codigo del cliente es 2, me muestra la factura nro 2, pero no me muestra todas las correspondientes al cliente.
Donde le estoy errando?

Código SQL [-]
SELECT Factura.Fecha, Factura.Numfactura, Factura.Clicod, Clientes.Clinom, Factura.SubTotal, Factura.ImporteTotal
FROM Clientes RIGHT JOIN Factura ON Clientes.Clicod = Factura.Clicod
WHERE Factura.Anulada=False and( Factura.Fecha >= :fecha1 AND Factura.Fecha <= :fecha2) and factura.clicod=:cliente
ORDER BY Factura.clicod, Fecha

Gracias y Saludos

AzidRain 02-12-2007 02:50:53

Código SQL [-]
SELECT Factura.Fecha, Factura.Numfactura, Factura.Clicod, Clientes.Clinom, Factura.SubTotal, Factura.ImporteTotal
FROM Clientes RIGHT JOIN Factura ON Clientes.Clicod = Factura.Clicod
WHERE Factura.Anulada=False and( Factura.Fecha >= :fecha1 
AND Factura.Fecha <= :fecha2) and Clientes.clicod=:cliente
ORDER BY Factura.NumFactura, Fecha

Tu tabla principal es Clientes y la que estas uniendo es Facturas, por lo que la condición para mostrar solo las de x cliente debe ir sobre la tabla Clientes. La tenias sobre la de facturas.

Petolansa 02-12-2007 22:48:46

Gracias pro al rspuesta azidrain pero la devolucion de la consulta sigue siendo la misma, influye que tenga la tabla desordenada, por ejemplo en el campo nrofactura , esta guardada por 3,4,2,1?


Saludos

DANY 03-12-2007 00:32:26

No influye el orden, eso seguro, ahora , dices que con el cliente 2 te muestra la factura 2, no estaras grabando el numero defactura en el campo del codigo del cliente y por eso la confusion??. Pregunto por las dudas , por que deberia funcionar, eso si , deberia funcionar de la 2 forma.
Saludos...

gmontes 05-12-2007 21:26:23

no funciona asi?

Código SQL [-]
SELECT F.Fecha, F.Numfactura, F.Clicod, C.Clinom, F.SubTotal, F.ImporteTotal
FROM Clientes C, Factura F WHERE C.Clicod = F.Clicod and F.Anulada=False and( F.Fecha >= :fecha1 AND F.Fecha <= :fecha2) 
and f.clicod=:cte ORDER BY F.clicod, F.Fecha


La franja horaria es GMT +2. Ahora son las 21:46:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi